The rule is this:
The Repository contains a \Scripts folder, which contains sub-folders called
Balancer
General
JobReports
Jobs
Limits
Pulse
SlaveReports
Slaves
Submission
Tasks
WebService
The Repository also contains a \Custom\Scripts folder, and it contains EXACTLY the same sub-folders as the \Scripts folder.
All these scripts are written in Python and run INSIDE components of Deadline- in the Monitor, on the Slaves, in the Balancer, on Pulse etc. They implement operations like job submission from the Monitor, general operations on existing jobs, connecting with the slave via VNC, defining the Balancer rules, emailing the user, opening image viewers etc.
The ones in the Custom\Scripts\ folder will never be updated by the installers, and if the same file exists in both places, the Custom one will be run instead of the Factory version. So if you take an existing shipping script, say the Deadline Monitor submitter for Nuke, and want to add functionality, you first copy it into Custom\Scripts\Submission, then modify it. This way your changes will survive multiple updates.
In the Repository there is also a \Submission folder. It contains sub-folders for every application that provides an INTEGRATED submitter that runs in the application itself (Max, Maya, Houdini, Lightwave, Modo, Nuke, Fusion, AE, etc.) These scripts are written in various scripting languages native to the respective applications. These scripts communicate with Deadline (usually by calling DeadlineCommandBG.exe), but do not run INSIDE of Deadline. Currently they do not provide a custom folder mechanism.
So the rule would be “integrated submission scripts are not supported yet”. However, we are looking into changing that in future versions.