---
title: "Send documents with role-based access"
url: "https://docs.signnow.com/docs/salesforce-role-based-access"
type: "page"
section: "Integrations"
slug: "salesforce-role-based-access"
---

# Send documents with role-based access

# HR hiring workflow: send a document group with role-based access

This guide demonstrates how to send a document group to multiple recipients with different document access.

## Use case overview

The HR Hiring template consists of two documents:

- Offer Letter with an attachment request
- Employment contract

**Recipients:**

- **HR Manager** — sender who triggers the workflow by clicking the button and views the document package before it is sent to signers.
- **Candidate** — signs the Offer Letter and attaches their ID. The candidate sees the Offer Letter only; the Employment contract is hidden.
- **CEO** — signs the Employment contract. The CEO sees the Employment contract only; the Offer Letter is hidden.
- **Employee** — signs the Employment contract. The employee sees the Employment contract and the Offer Letter they have already signed.

> The candidate and employee are the same person, but receive the documents at different stages of the workflow.


After all parties complete their steps, the executed documents are sent to all recipients and saved to the Salesforce record as a zip archive.

## **Prerequisites**

- SignNow for Salesforce installed and configured.
- Access to SignNow Admin Tools within Salesforce.

---

## Configuration for Salesforce admins

## Step 1. Create a document group template in Salesforce

- Go to **SignNow Admin Tools > Templates > Create New Template**.
- Add the Offer Letter and Employment contract from your computer. The documents will be merged into a single group. You can rename the group by clicking the pen icon.
- Click **Add Fillable Fields** to open the documents in the SignNow editor.

![approver_template_1.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_template_1.png)


- Add recipients before adding fields:
    - The HR Manager who views the package.
    - The Candidate who signs the Offer Letter.
    - The CEO who signs the Employment contract.
    - The Employee who signs the Employment contract.

> You may leave the email addresses empty — you will add them later.

![approver_template_viewer_1.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_template_viewer_1.png)


- Click **Save and Continue**.
- Add fillable fields and assign them to the appropriate recipients:

**Offer Letter:** Add text, signature, date, and attachment fields, and assign them to the Candidate.
        
> **Tip:** Make the attachment field conditional — the candidate will see it only after they sign the document.


![approver_template_viewer_2.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_template_viewer_2.png)


**Employment contract (CEO):** Add text, signature, and date fields and assign them to the CEO.

![approver_template_viewer_4.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_template_viewer_4.png)


**Employment contract (Employee):** Add text, signature, and date fields and assign them to the Employee.

![approver_template_viewer_5.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_template_viewer_5.png)

> Give your fields descriptive names to make it easier to map them to Salesforce record fields later.
> 
- Click **DONE** to save the changes.

---

## Step 2 (optional). Pre-fill template fields

To save time for recipients, pre-fill fillable fields with Salesforce data before sending.

- Go to **SignNow Admin Tools > Templates**. Locate the Hiring template and click **Pre-fill Fillable Fields**.
- Select the Salesforce object to use as the data source. The base Salesforce object should be the one where you are going to place the button.
- Select the document where you want to pre-fill fields, then select the fields to map.
- Select the corresponding Salesforce fields as the data source.

> You can map fields from the base object as well as from its parent object and 1:1 lookup relations. Mapping from objects with a 1:many relation is not supported.
> 
- In the **Field Editing** dropdown, select **Lock Editing** to prevent recipients from changing pre-filled data, or **Allow Editing** to let them update it.
- If you select **Allow Editing,** the arrow setting ⇆ defines the possibility to update Salesforce field with the value from signed document.

> The `Name` field in Salesforce is a compound field consisting of `First Name`, `Middle Name`, and `Last Name`. If you want to allow the Salesforce `Name` value to be updated, pre-fill `First Name`, `Middle Name`, and `Last Name` into separate fields in the template.


**Example of the data mapping**

![approver_template_6.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_template_6.png)

- Click **Save**.

Learn more about [pre-filling fillable fields](/docs/templates#pre-fill-fillable-fields).

---

## Step 3. Set up the document flow in Salesforce

This configuration is performed once by the admin. The Document Flow defines the rules for sending documents with SignNow, including who receives them and in what order.

- Go to **SignNow Admin Tools > Document Flows > Create Document Flow**.
    
    > **Tip:** When naming a document flow, start with the Salesforce object that triggers the flow, followed by the template name. For example: `Contact - Hiring workflow`. This makes it easy to identify which flow is linked to a button and update it when needed.

- Name the document flow and configure what the sender can adjust at send time.
    
    > **Tip:** Use tags to auto-name documents created from the template. For example, enter `{{Contact.Name}} onboarding package` in the **Document Name** field. You can use tags that correspond to fields from the base Salesforce object only.

    
**Note:** Do not check **Hide "Add Recipients" step** if you need senders to configure recipient access to individual documents in the group — this keeps the access configuration screen available when the flow is triggered.


![approver_flow_1.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_flow_1.png)


- Click **Next to Customization.**
- Customize email invite message and subject. Use the Tag Builder to pre-fill them [with Salesforce data](/docs/document-flows#customize-the-invite-email-message-to-signers). You can use tags that correspond to fields from the base Salesforce object only.

![approver_flow_2.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_flow_2.png)

- Click **Next to Recipients**.
- Add recipient email addresses. Recipients must match those in the template exactly, including their names.

**Note:** These settings will override the email addresses configured in the Hiring template.

> **Tip:** Use the **Tag Builder** to pre-fill email address fields with Salesforce base object data.

![approver_flow_3.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_flow_3.png)


- Click **Save.**

Learn more about SignNow [document flows](/docs/document-flows#configure-the-senders-experience).

---

## Step 4. Add the Send Hiring Documents button to the object layout

Create a button that triggers the configured document flow from the Salesforce object (for example, Contact).

- Go to **SignNow Admin Tools > Custom Links**.
- In the **What should be sent for signature** section, select **SignNow Template: Pre-selected by the Admin** and choose the Hiring workflow template.
- Select the document flow you created in Step 3: **Contact - Hiring workflow**.
- Enter the API name of the Salesforce object where you want to add the button.
- On the confirmation screen, copy the generated custom link URL.

![approver_custom_link_1.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_custom_link_1.png)

- Use the URL to add the button to the [object page layout](/docs/custom-links#add-the-custom-button-to-the-salesforce-object).

## Step 5. Test your workflow

> This reflects the exact experience the sender will have when triggering the workflow.


Go to the Salesforce object where you added the button and click it.

**Configure recipient access:**

The Send Invite page opens. Click the dropdown next to a document name to set the access level for each recipient.

| Recipient | Offer Letter | Employment Contract |
| --- | --- | --- |
| HR Manager | View Only | View Only |
| Candidate | Fill out and Sign | Hide from this Step |
| CEO | View Only | Fill out and Sign |
| Employee | View Only | Fill out and Sign |

![approver_test_1.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_test_1.png)


- On the right panel, you can preview the documents with the pre-filled data from Salesforce.
- Click **Send Invite to First Recipient** to start the signing process.

**Signing workflow:**

1. The document package is sent to the HR Manager. In this example, the HR Manager is the sender, so the package opens in Salesforce for review. Once the HR Manager clicks **Close**, the workflow continues.
2. The package is sent to the Candidate, who signs the Offer Letter, fills in the date, and attaches their ID. The candidate does not have access to the Employment contract at this step.
3. Once the Candidate clicks **Finish**, the package is sent to the CEO, who views the Offer Letter and signs the Employment contract.
4. Once the CEO clicks **Finish**, the package is sent to the Employee (same email address as the Candidate), who signs the Employment contract.
5. After all recipients sign, the completed hiring documents are attached to the Salesforce record as a zip archive.

![approver_result.png](/reference-assets/images/SignNow_Salesforce/use_case_4/approver_result.png)




---
*Full page: https://docs.signnow.com/docs/salesforce-role-based-access*
