Form Actions
A form that only collects data is just a survey. The real value is what happens next. When a requester clicks Submit, form actions determine the outcome: generate a contract from a template, create a contract for playbook review, import an external agreement into the repository, or redirect to another form.
Each form can have multiple actions, and each action can have its own conditions. This means a single form can produce different outcomes depending on how the requester answers.
The Six Action Types
Section titled “The Six Action Types”Pactly supports six action types. A form is not limited to six actions, it can have any number, including several of the same type (for example, five separate Generate actions, each linked to a different template and gated by its own condition). Every action is configured in the Actions tab of the form builder.
Build a contract from a Pactly template, populated with the form answers.
Turn an uploaded document into a contract for playbook review.
Import an uploaded document as an external contract to track.
Generate a supporting document and attach it to another action’s contract.
Send the requester to another form or URL after they submit.
Let the requester search and select an existing contract from the repository.
Each action also accepts a Condition, so it only runs when the requester’s answers match (see Conditional Logic). The sections below cover what each type is for and how to configure it.
Add an Action
Section titled “Add an Action”In the form builder, switch to the Actions tab and click Add Action. A dialog opens where you pick the action type and configure its options. Existing actions are listed below the button, each with its own controls.

Generate (Template Contract)
Section titled “Generate (Template Contract)”This is the most common action type. It powers the full intake-to-contract automation: the requester fills the form, Pactly generates the contract from your template, and it lands in the repository ready for review. Use it whenever the agreement is on your own paper.
Generates a contract from a Pactly template, with the template’s variables populated from the form answers through field mappings. The generated contract enters the repository in Draft status.
- Template
- The Pactly template this action generates from.
- Assign contract to
- Set the contract owner (a specific Pactly user) on the generated contract.
- Send to user
- Email the generated document to the person who submitted the form.
- Send to emails
- Email the generated document to additional addresses you list.
- Condition
- Only generate when the condition passes, so one form can choose between templates.
Create (Playbook Contract)
Section titled “Create (Playbook Contract)”Use this when the counterparty provides the contract (third-party paper) and your team needs to review it against your playbook, rather than generating from your own template.
Creates a contract for playbook review from a document the requester uploads. The form includes a file upload field (added automatically when you add this action), and the uploaded document becomes the contract.
- Initialize playbook review
- Automatically start a playbook review round on the created contract.
- Assign contract to
- Set the contract owner on the created contract.
- Condition
- Only create the contract when the condition passes.
External (Import Contract)
Section titled “External (Import Contract)”Use this for intake forms that collect already-finalized agreements you want to track without running them through the template or playbook flow, for example “Upload your executed vendor agreement for our records.”
Imports a document the requester uploads as an external contract in the repository.
- Status
- The imported contract’s initial status: Pending (requires approval before it’s active) or Executed (already fully signed).
- Execution date
- For executed contracts, the date the agreement was executed.
- Assign to user
- Set the contract owner on the imported contract.
- Condition
- Only import when the condition passes.
Generate Attachment
Section titled “Generate Attachment”Use this when one submission should produce both a primary contract and supplementary documents, such as a cover letter, a schedule, or a compliance checklist.
Generates a document from a template and attaches it to the contract created by another action on the same form. It does not create a standalone contract.
- Template
- The template used to generate the attachment.
- File name
- The file name given to the generated attachment.
- Send to user
- Email the generated attachment to the person who submitted the form.
- Send to emails
- Email the attachment to additional addresses you list.
- Condition
- Only generate the attachment when the condition passes.
Redirect
Section titled “Redirect”Use this for routing: if the requester’s answers indicate they need a different process (procurement instead of legal, say), send them straight to the right form or URL after they submit.
Redirects the requester to another Pactly form or an external URL after submission.
- Redirect to form
- Another Pactly form the requester fills immediately after submitting this one.
- Redirect to URL
- An external URL to send the requester to instead.
- Condition
- Only redirect when the condition passes.
Request
Section titled “Request”Use this when the form is about an existing contract rather than creating a new one, for example “Select the contract you’d like to amend.”
Lets the requester search and select existing contracts from the repository. The selected contracts are linked to the form entry.
- Category IDs
- Restrict which contract categories are available for selection.
- Property IDs
- Which contract properties to show as context in the picker.
- Condition
- Only show the picker when the condition passes.
Multiple Actions
Section titled “Multiple Actions”A form can have multiple actions of different types. When the form is submitted:
- Pactly evaluates each action’s condition against the form answers
- All actions whose conditions pass will execute (not just the first match)
- Actions without conditions always execute
Execution order: Base document actions run first, then attachment generation, then remaining actions. This ensures attachments can be linked to the contract created by the primary action.
Example: Multi-action form
Section titled “Example: Multi-action form”A single “New Agreement” form with four actions:
- Generate “Mutual NDA” template, condition: Agreement Type = Mutual NDA
- Generate “One-way NDA” template, condition: Agreement Type = One-way NDA
- Generate “MSA” template, condition: Agreement Type = MSA
- Redirect to procurement form, condition: Agreement Type = Procurement
The requester selects their agreement type, fills in the details, and submits. Pactly generates the correct contract or redirects to the right form. Only one action fires because the conditions are mutually exclusive.
Active/Inactive toggle
Section titled “Active/Inactive toggle”Each action (except Create, Request, and External types) has an active/inactive toggle in the Actions tab. Deactivating an action keeps its configuration but stops it from running on submission, so you can pause an action without deleting it.

What Happens After Submission
Section titled “What Happens After Submission”When a form is submitted and actions execute, Pactly also:
- Maps field values to contract properties (see Field Mappings)
- Creates or links parties from party fields, with their assigned roles
- Triggers workflows based on the action type. Generate and Create actions raise contract-created events; External actions raise external-contract-created events (with or without approval, depending on the status setting); and every submission raises a general form-submitted event. These events can drive approval routing, notifications, and assignment rules. (Workflow configuration has its own help section, coming soon.)
- Sends notification emails to the recipients configured on the action
Cleaning up stale entries
Section titled “Cleaning up stale entries”Submitting a form is not the only way an entry leaves the queue. A form can be set to automatically archive or delete pending entries that sit untouched past a threshold (for example, drafts that were started but never submitted within a year). This is a background cleanup driven by the form’s settings, not something that happens on submission. Completed entries are not affected.
Related
Section titled “Related”Chat with us
We typically reply within a few minutes