Skip to content

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.

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.

Form action types
Generate Template Contract

Build a contract from a Pactly template, populated with the form answers.

Create Playbook Contract

Turn an uploaded document into a contract for playbook review.

External Import Contract

Import an uploaded document as an external contract to track.

Generate Attachment

Generate a supporting document and attach it to another action’s contract.

Redirect

Send the requester to another form or URL after they submit.

Request

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.

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.

The Actions tab with the Add Action button highlighted at the top, above a list of existing actions
Add Action sits at the top of the Actions tab; existing actions are listed below it

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.

Available configurations
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.

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.

Available configurations
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.

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.

Available configurations
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.

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.

Available configurations
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.

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.

Available configurations
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.

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.

Available configurations
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.

A form can have multiple actions of different types. When the form is submitted:

  1. Pactly evaluates each action’s condition against the form answers
  2. All actions whose conditions pass will execute (not just the first match)
  3. 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.

A single “New Agreement” form with four actions:

  1. Generate “Mutual NDA” template, condition: Agreement Type = Mutual NDA
  2. Generate “One-way NDA” template, condition: Agreement Type = One-way NDA
  3. Generate “MSA” template, condition: Agreement Type = MSA
  4. 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.

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.

An action row in the Actions tab with the active/inactive toggle highlighted, showing the action is currently active
The toggle on each action row turns it on or off without losing its configuration

When a form is submitted and actions execute, Pactly also:

  1. Maps field values to contract properties (see Field Mappings)
  2. Creates or links parties from party fields, with their assigned roles
  3. 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.)
  4. Sends notification emails to the recipients configured on the action

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.

Chat with us

We typically reply within a few minutes