---
title: "Send SignNow Freeform Invite"
url: "https://docs.signnow.com/docs/apex-send-freeform-invite"
type: "page"
section: "Integrations"
slug: "apex-send-freeform-invite"
---

# Send SignNow Freeform Invite

# Apex action: Send SignNow Freeform Invite

> Before configuring this Apex action, review the [prerequisites](/docs/salesforce-apex-actions#prerequisites) for SignNow Apex actions and complete the required setup steps.

The **Send SignNow Freeform Invite** action lets users send documents **without fillable fields** to recipients. Recipients can add their signatures and other data anywhere on the document, making it suitable for unstructured signing scenarios.

The sender can also send a freeform invite to themselves — useful for self-signing workflows where no predefined fields are required.

This example configures a **record-triggered flow** that creates a document group from a template and sends it as a freeform invite to a contact.

This flow uses the following Apex Actions:

- [Create SignNow Document Group from SignNow Template](/docs/apex-create-document-group-from-template)
- Send SignNow Freeform Invite

---

## Prerequisites

- Go to **Admin Tools > Templates** and create a template to use as the document group source.

**Note:** Freeform invites work only on documents without predefined fields. If the template contains fields, recipients will not be able to sign freely. Make sure the template has no fillable fields before proceeding.

- Go to **Setup > Flows > New Flow**.
- Select **Record-Triggered Flow**.

## **Step 1. Configure the flow trigger conditions**

> Configure the flow starting conditions as required. The following are example settings.
> 

In this example, the document group is sent as a freeform invite to the contact email when the Contact record is updated. The `Email` field must be populated and the `Level` field must equal `Primary`.

- Enter the Salesforce object name.
- Select when the flow should be triggered: `A record is updated`.
- Set entry conditions:
    - Condition requirements: `All Conditions Are Met (AND)`
    - Record field: `Email` Is Null `False`
    - Record field: `Level` Equals `Primary`
- Select how often the flow should run: `Only when a record is updated to meet the condition requirements`.
- Enable the **Add Asynchronous Path** toggle.

![apex_freeform_1.png](/reference-assets/images/SignNow_Salesforce/apex_freeform_invite/apex_freeform_1.png)

> ⚠️ **Important:** All steps that follow must be added to the asynchronous path. This flow requires an asynchronous path because it communicates with an external system (SignNow).
> 

## **Step 2. Add the Create SignNow Document Group from SignNow Template action**

- Click the **+** icon to add the **Create SignNow Document Group from SignNow Template** action to the flow.
- Add a label.
- Set input values:
    - **SignNow Document Group Template ID**: The ID of the document group template. To find it, go to **SignNow Admin Tools > Templates**, open the template, and copy the ID from the URL or the template details panel.
    - **Record ID** (optional): Salesforce record ID where the new document group is generated. Enter a value or select a resource.
    - **SignNow Document Flow ID** (optional): The ID of a pre-configured Document Flow. If specified, the document group opens with those pre-configured settings.
    - **SignNow Document Group Name** (optional): A custom name for the new document group. If left blank, the default name is `Document Group DD-MM-YYYY`.
    - **SignNow Folder ID** (optional): The ID of the folder where the document group will be stored.

![apex_freeform_2.png](/reference-assets/images/SignNow_Salesforce/apex_freeform_invite/apex_freeform_2.png)


## Step 3. Create variables

Before configuring assignments, create the following two variables.

### **Create the Signers collection variable**

This collection stores the list of recipients who will receive the freeform invite.

- Click the **Toolbox** icon (top left).
- Click **New Resource** and select **Variable**.
- API Name: `Signers_collection`
- Data Type: **Apex-Defined**
- Apex Class: `cuda_signnow__SNAPI_FreeFormInviteSigner`
- Select **Allow multiple values (collection)**.

![apex_freeform_3.png](/reference-assets/images/SignNow_Salesforce/apex_freeform_invite/apex_freeform_3.png)


### **Create the Signer variable**

This variable temporarily holds the email of the triggering contact before it is added to the collection.

- Click the **Toolbox** icon (top left).
- Click **New Resource** and select **Variable**.
- API Name: `Signer_temp`
- Data Type: **Apex-Defined**
- Apex Class: `cuda_signnow__SNAPI_FreeFormInviteSigner`

![apex_freeform_4.png](/reference-assets/images/SignNow_Salesforce/apex_freeform_invite/apex_freeform_4.png)

`Signer_temp > email` **Equals** `Triggering Contact > Email`.

## **Step 4. Create assignments**

Use the variables created in Step 3 to build two assignment elements.

### **Assignment 1: Add contact email**

This assignment populates `Signer_temp` with the email of the contact who triggered the flow.

- Add an **Assignment** element to the flow.
- Add a label.
- Set variable value: `Signer_temp > email`  **Equals**  `Triggering Contact > Email`

![apex_freeform_5.png](/reference-assets/images/SignNow_Salesforce/apex_freeform_invite/apex_freeform_5.png)

### **Assignment 2: Add signer to collection**

This assignment appends `Signer_temp` to the `Signers_collection` variable.

- Add an **Assignment** element to the flow.
- Add a label.
- Set variable value: `Signers_collection`  **Add**  `Signer_temp`

![apex_freeform_6.png](/reference-assets/images/SignNow_Salesforce/apex_freeform_invite/apex_freeform_6.png)

## **Step 5. Add the Send SignNow Freeform Invite action**

- Click the **+** icon to add the **Send SignNow Freeform Invite** action to the flow.
- Add a label.
- Set input values:
    - **Array of Signers**: `Signers_collection`
    - **SignNow Document Group ID**: Select `Outputs from Create SignNow Document Group from SignNow Template > SignNow Document Group ID`.
    - **Array of CC Emails** (optional): A list of email addresses to receive a copy.
    - **Email Message** (optional): Custom body text for the email sent to recipients.
    - **Email Subject** (optional): Custom subject line for the email sent to recipients.
    - **Redirect URL** (optional): The URL to which recipients are redirected after completing the document.

![apex_freeform_7.png](/reference-assets/images/SignNow_Salesforce/apex_freeform_invite/apex_freeform_7.png)


## **Step 6. Finalize the flow**

- Click **Save**.
- Click **Activate**.

## **Result**

When a Contact record is updated so that the `Level` field equals `Primary` and the `Email` field is not empty, the flow:

- Creates a new document group from the specified SignNow template.
- Sends the document group to the contact's email as a freeform invite.

The recipient receives an email with a link to the document. They can open it and add their signature or other annotations anywhere on the page — no predefined fields are required.

---

View the full list of [SignNow Apex actions](/docs/salesforce-apex-actions).


---
*Full page: https://docs.signnow.com/docs/apex-send-freeform-invite*
