This kind of feature was in the initial NETINFO idea (as part of the FAC) and I have used this idea in LISTSERV, but as part of the FILEID control list since FACs are local to each filelist (and for security reasons the owner of the filelist must not be able to cause just any exec to be called). Let me explain how the mechanism works. 1) The FILELIST owner adds an entry in the filelist for a new file. 2) With each filelist there is an associated "filelistname FILEID" file which is automatically maintained by LISTSERV but can be modified by the postmas- ter. This file lists the "true fileid" for each file of the filelist, along with two very important optional fields: execname and execparms. 3) The file owner sends a PUT command for that file. LISTSERV call LSVFILID to determine the 'real' fileid of the file. This may have been overridden by the postmaster (eg I want CHAT EXEC to be stored as CHAT EXEC, for ob- vious reasons) on a file per file basis. If the file had already been stored once, the same fileid is used of course. Otherwise a new fileid is generated ("nnnnnnnn filelistname A1"). However, if an "*DEFAULT*" entry exists in the FILEID file, its contents are used to determine the filemode, execname and execparms. 4) If execname ^= '', the exec receives control with various arguments inclu- ding invoker, fileid, filelist name, the complete line from the filelist with FACs and the like, execparm (as specified in the FILEID file), etc. The exec can either reject the PUT command, accept it as is, or impose a different "true fileid". 5) The file is received under the specified fileid. 6) The exit gets control a second time to perform any kind of post-processing job that may be required. It can again change the "true fileid" associated with the file. 7) LISTSERV processes to execute or queued FUI and AFD processes. Example: PUT $LISTSRV NAMES --> LSV_$NAM gets control, checks you're the contact person for your node. It then either rejects or accepts with a fileid of "LISTSERV CMSUT1 A1". --> The file is received as LISTSERV CMSUT1 --> LSV_$NAM COPYFILEs it to LISTSERV UPDNAME A1 (APPEND, and indicates the LISTSERV FILEID list must not be updated. There are a lot of other examples in a memo I wrote a long time ago for NETINFO. I will send it to the list so you can see yourself. Eric