---
title: "Salesforce Integration"
description: "Connect Salesforce to TurboDocx to generate documents from your CRM data, and send them for e-signature from any record with TurboSign for Salesforce."
url: "https://docs.turbodocx.com/docs/Integrations/SalesForce"
---

# Salesforce Integration

> Connect Salesforce to TurboDocx to generate documents from your CRM data, and send them for e-signature from any record with TurboSign for Salesforce.

Overview: see [TurboSign for Salesforce overview and pricing](https://www.turbodocx.com/integrations/salesforce-esignature).

TurboDocx works with Salesforce in two ways. You can use either one on its own, or both together.

- **Generate documents from Salesforce data.** Say goodbye to copy-pasting customer information! TurboDocx pulls your real CRM data to create personalized documents, proposals, and presentations. No more "John Doe" placeholder text — use actual account names, opportunities, and details.
- **Send for signature from Salesforce with TurboSign for Salesforce.** A package you install in your Salesforce org adds a **Send for Signature** button to your records. The document fills itself from the record, and the signed PDF and audit trail are saved back to it.

## Which parts of this guide you need

| If you want to… | Follow |
|---|---|
| Generate documents from Salesforce data | [Steps 1 to 3](#step-1-create-a-private-salesforce-external-client-app) to connect Salesforce to TurboDocx, then [Step 4](#step-4-generate-documents-from-salesforce-data) |
| Send documents for signature from Salesforce records | [Send for signature with TurboSign for Salesforce](#send-for-signature-with-turbosign-for-salesforce). To have the signed PDF saved back to the record, also do [Steps 1 to 3](#step-1-create-a-private-salesforce-external-client-app) and [check the connection for TurboSign](#check-the-connection-for-turbosign-for-salesforce) |
| Both | Steps 1 to 3 once. Both features use the same connection |

## What You Can Create

- **📊 Sales Proposals**: Use real opportunity data to create compelling, personalized proposals
- **📄 Account Reports**: Generate comprehensive reports with actual customer information
- **📋 Meeting Summaries**: Create professional meeting notes using your Salesforce data
- **💼 Sales Presentations**: Build custom presentations with live customer data
- **📝 Follow-up Documents**: Generate personalized follow-ups using contact details
- **🔄 Automated Reports**: Create recurring reports with fresh data from Salesforce

## Before You Begin

:::tip For Our Technology-Shy Friends
Don't worry! We've made this guide so detailed that any team member can follow it. Think of it as cooking instructions, but for software — and just as tasty! 😄
:::

To connect Salesforce to TurboDocx (Steps 1 to 3), you'll need:

- A TurboDocx **Pro** or **Enterprise** plan, which include the Salesforce integration
- A Salesforce account with permission to create External Client Apps (any edition works for the connection and document generation; TurboSign for Salesforce needs an edition that runs custom Apex, see [Which Salesforce orgs can use it](#which-salesforce-orgs-can-use-it))
- System Administrator access to create a Salesforce External Client App
- About 15 minutes for Steps 1 to 3, and a cup of coffee ☕
- This guide (which you're already reading — you're ahead of the game!)

:::tip Quick note
This process involves creating something called an "External Client App" in Salesforce (older Salesforce guides call this a "connected app"). Think of it as giving TurboDocx secure access to your Salesforce data — and only the data you want to share.
:::

## Step 1: Create a Private Salesforce External Client App

Time to get VIP access to your Salesforce data! 🎭 This step guides you through creating a new external client app in Salesforce, which will serve as the secure bridge for your TurboDocx application. Think of it as getting backstage passes to your very own Salesforce concert! 🎫

### Log in to Salesforce

1. **Open your web browser** and go to [salesforce.com](https://salesforce.com)

   - Use Chrome, Firefox, Safari, or Edge

2. **Log into your Salesforce account**
   - Use your normal email and password with appropriate administrative privileges
   - If you forgot your password, there's a "Forgot Password?" link (we've all been there!)

![Salesforce Login Screen](https://docs.turbodocx.com/img/salesforce-integration/Login_Window.png)

### Navigate to Setup Home

3. **Find the Setup gear** in the top right corner
   - It looks like a little wheel with teeth ⚙️
   - It's located next to your profile picture icon on the home page

![Setup Icon and Menu](https://docs.turbodocx.com/img/salesforce-integration/Setup_Icon_and_Menu.png)

4. **Click on "Setup"**
   - Select "Setup" from the dropdown menu
   - You will be navigated to the Setup Home page

![Salesforce Setup Home Page](https://docs.turbodocx.com/img/salesforce-integration/Setup_Home_Page.png)

### Go to App Manager

5. **Navigate through the left sidebar menu**
   - From the Setup Home page, scroll down in the left sidebar
   - Navigate to: **Platform Tools > Apps > App Manager**

![Navigation to App Manager in Sidebar](https://docs.turbodocx.com/img/salesforce-integration/Navigation_to_App_Manager.png)

### Create a New External Client App

6. **Click "New App", then "New External Client App"**
   - On the App Manager screen, click the **New App** dropdown
   - Choose **New External Client App** from the list (not "New Lightning App")

![App Manager Screen with New External Client App Button](https://docs.turbodocx.com/img/salesforce-integration/New_External_Client_App_Button.png)

### Configure Basic Information

7. **Fill in the Basic Information section**:
   - **External Client App Name**: Type "TurboDocx Integration App" or "TurboDocx Document Generator"
   - **API Name**: This will auto-populate based on the App Name, but you can adjust if needed
   - **Contact Email**: Enter a relevant contact email address
   - **Distribution State**: Set this to "Local"

![Basic Information Section Fields](https://docs.turbodocx.com/img/salesforce-integration/Basic_Information.png)

:::tip Pro Tip
Choose an app name you'll remember six months from now. "App123" might seem clever today, but future you will not be amused! 😏
:::

### Configure API Settings

8. **Set up OAuth Settings**
   - Proceed to the "API Settings" section
   - **Enable OAuth Settings**: Check this box
   - **Callback URL**: Enter `https://api.turbodocx.com/oauth/salesforce/callback` as the callback URL
   - Salesforce only accepts callback URLs that start with `https://`. An `http://` address is rejected
   - Changes to an External Client App, such as the callback URL or its policies, can take several minutes (up to about 10) to apply. Until then, signing in to a sandbox or scratch org through `test.salesforce.com` may return `redirect_uri_mismatch`. If it does, wait a few minutes, or sign in through your org's My Domain login URL

![API Settings with OAuth Enabled](https://docs.turbodocx.com/img/salesforce-integration/OAuth_Enabled.png)

9. **Select OAuth Scopes**
   - In the **Selected OAuth Scopes** section, select the following scopes:
     - `Access unique user identifiers (openid)`
     - `Manage user data via APIs (api)`
     - `Manage user data via Web browsers (web)`
     - `Perform requests at any time (refresh_token, offline access)`

![OAuth Scopes Selected](https://docs.turbodocx.com/img/salesforce-integration/OAuth_Scopes_Selected.png)

:::tip Attention to Detail Required
You'll be adding several different permissions. It's like checking off a grocery list — but necessary for the feast ahead! 🛒
:::

10. **Configure Flow Enablement**
    - In the "Flow Enablement" section under OAuth settings, make sure only the following checkbox is ticked
      - **Enable Authorization Code and Credentials Flow**

![Flow and Enablement Settings](https://docs.turbodocx.com/img/salesforce-integration/Flow_Enablement_settings.png)

11. **Configure Security**
    - In the "Security" section under OAuth settings, tick the following checkbox:
      - **Issue JSON Web Token (JWT)-based access tokens for named users**
    - New External Client Apps also have these options switched on and greyed out, so you can't change them. Leave them as they are. TurboDocx works with all of them:
      - **Require PKCE for Supported Authorization Flows**
      - **Enable Refresh Token Rotation**
      - **Limit Idle Refresh Token TTL to 30 Days**
    - Leave the other checkboxes in this section unticked

![Security Settings](https://docs.turbodocx.com/img/salesforce-integration/Security_Section.png)

12. **Create the External Client App**
    - Click "Create" to create your external client app
    - Take a moment to admire your handiwork first!

![Save External Client App](https://docs.turbodocx.com/img/salesforce-integration/create_app.png)

:::tip Achievement Unlocked: App Creator! 🏆
Look at you go! You've successfully created your Salesforce External Client App. You're basically a mini developer now! 👩‍💻 Now we need to configure its policies and get those important credentials. ⚡
:::

## Step 2: Configure External Client App Policies and Retrieve Credentials

After creating the app, you need to adjust its access policies and retrieve the necessary credentials for TurboDocx.

### Access App Details Page

1. **Navigate to your app's detail page**
   - You should be automatically redirected to the detail page of the app you just created as soon as you hit the create button
   - If not, navigate to External Client App Manager **(Platform Tools > Apps > External Client App > External Client App Manager)** and click on the name of your newly created app

![Connected App Detail Page](https://docs.turbodocx.com/img/salesforce-integration/Connected_app_details_page.png)

### Edit Policies

2. **Locate the Policies section**
   - On the app's detail page, find the "Policies" section
   - Click the "Edit" button located below the policies section

![Policies Section with Edit Button](https://docs.turbodocx.com/img/salesforce-integration/policies_section.png)

3. **Adjust OAuth Policies**
   - In the "Edit" view, locate the OAuth policies and configure the following settings:
      - **Permitted Users**: Select **"All users can self-authorize"**
      - **Named User JWT-Based Access Token Settings**: Select **"Set app-specific token timeout"**, then select **30 Minutes**
      - **Refresh Token Policy**: Leave **"Expire refresh token if not used for specific time"** selected, with the 30-day limit Salesforce sets
      - **IP Relaxation**: Select exactly **"Relax IP restrictions"**, not the similar **"Relax IP restrictions for activated devices"**

![OAuth Policies Configuration](https://docs.turbodocx.com/img/salesforce-integration/OAuth_policies.png)

:::note The 30-day refresh token limit
New External Client Apps no longer offer **"Refresh token is valid until revoked"**. A refresh token expires if it isn't used for 30 days. You don't need to do anything about this: TurboDocx keeps the connection active automatically.

If the connection ever stops working, for example because a Salesforce admin revokes it, TurboDocx shows a **Reconnect Salesforce** message in the Salesforce settings dialog and emails your organization's admins. To see the message, open **Settings > Features and integrations** and click **Configure SalesForce** on the Salesforce card. Reconnecting is safe: your current connection keeps working until the new one succeeds.
:::

4. **Save Changes**
   - Click "Save" to apply the policy changes

![Save Button](https://docs.turbodocx.com/img/salesforce-integration/Save_policies.png)

### Retrieve Consumer Key and Secret

5. **Find Settings section**
   - On the same app details page, Navigate to the "Settings" section
   - Here you don't need to edit anything as we have already configured it while creating the app

![Settings Section](https://docs.turbodocx.com/img/salesforce-integration/connected_app_settings_section.png)

6. **Navigate to the OAuth Settings part under the settings section**
   - You will now see a button of **Consumer Key and Secret**
   - Click on this button. Salesforce opens a new browser tab for the next two steps

![Consumer Key and Secret Button](https://docs.turbodocx.com/img/salesforce-integration/Consumer_key_and_secret_button.png)

7. **Complete identity verification**
   - You will be prompted to verify your identity via an OTP being sent to your registered email
   - Complete this verification step

![Identity Verification Prompt](https://docs.turbodocx.com/img/salesforce-integration/Identity_Verification_page.png)

8. **Copy your credentials**
   - After successful verification, your Consumer Key and Consumer Secret will be displayed
   - Copy both the **Consumer Key** and **Consumer Secret** - these credentials are essential for connecting your TurboDocx application to Salesforce

![Consumer Key and Secret Display](https://docs.turbodocx.com/img/salesforce-integration/Consumer_key_and_secret_page.png)

:::warning Handle With Care 🔐
These consumer keys are like VIP backstage passes to your Salesforce show. They let TurboDocx access only the data you've approved, but you definitely don't want random people crashing your party! 🎉

Keep them private, and if they ever get shared by accident, no worries — you can always generate fresh ones right here. It's like getting a new set of keys! 🔑
:::

## Step 3: Configuring TurboDocx

Now we'll connect your shiny new Salesforce external client app to TurboDocx. This is like introducing two friends who are perfect for each other at a party — and watching the magic happen! 🎉✨

### Navigate to TurboDocx Settings

1. **Open the account menu**
   - Click your **account avatar** at the bottom of the left sidebar

![Left sidebar with the account avatar highlighted](https://docs.turbodocx.com/img/salesforce-integration/Turbodocx_dashboard.png)

2. **Click on "Settings"**
   - It's in the menu that opens above your avatar

![Account menu with the Settings item highlighted](https://docs.turbodocx.com/img/salesforce-integration/turbodocx_settings_page.png)

3. **Click on "Features and integrations"**
   - It's in the menu on the left of the Settings page

![Settings menu with Features and integrations highlighted](https://docs.turbodocx.com/img/salesforce-integration/features_and_integrations.png)

### Configure Salesforce Integration

4. **Find the Salesforce card**
   - Look for the Salesforce logo under the integrations

![Salesforce card highlighted on the Features and integrations page](https://docs.turbodocx.com/img/salesforce-integration/Salesforce_integration_page.png)

5. **Click "Configure SalesForce"** 🚀
   - A popup or form will appear
   - This is where the magic happens! Time to make these two apps best friends! ✨👯‍♀️

![Salesforce card with the Configure SalesForce button highlighted](https://docs.turbodocx.com/img/salesforce-integration/configure_salesforce_button.png)

![Configuration Modal](https://docs.turbodocx.com/img/salesforce-integration/configuration_modal.png)

:::note Connect a sandbox
The dialog has an **Environment** list, set to **Production** by default. To connect a Salesforce sandbox, choose **Sandbox** there before you save, so the connection signs in at `test.salesforce.com`. If your sandbox uses a My Domain login, click **Use Custom Domain** on the Salesforce login page and enter it. TurboSign for Salesforce can save signed files back to a sandbox this way too.
:::

6. **Enter your Consumer Key and Consumer Secret**
   - Paste the **Consumer Key** from your Salesforce app into **Consumer Key (Client ID)**
   - Paste the **Consumer Secret** from your Salesforce app into **Consumer Secret (Client Secret)**

![Key Entry Form](https://docs.turbodocx.com/img/salesforce-integration/key_and_secret_entered.png)

7. **Click "Save Configuration"**
   - Cross your fingers (optional, but recommended!)

![Save Configuration Button](https://docs.turbodocx.com/img/salesforce-integration/Save_config_button.png)

### Establish the OAuth Flow for Salesforce

8. **Click "Connect to Salesforce"**
   - Save your configuration first (step 7), then click this button
   - You'll be redirected to Salesforce to authorize the connection

![Connection Button](https://docs.turbodocx.com/img/salesforce-integration/connect_to_salesforce_button.png)

9. **Authorize TurboDocx in Salesforce**
   - Salesforce will ask you to log in and confirm the connection
   - Enter your username and password to login

### Sync Your Salesforce Data

10. **Click "Refresh Fields"**
    - This button appears after the connection test succeeds
    - It downloads all your custom Salesforce fields and data
    - It also tests if your connection works

![Field Refresh Button](https://docs.turbodocx.com/img/salesforce-integration/refresh_fields.png)

11. **Wait for the field sync** ⏳
    - This can take 2-5 minutes depending on your Salesforce org size
    - Perfect time to check your email, grab a snack, or practice your victory dance! 💃🍿
    - Pro tip: The bigger your Salesforce org, the more impressive your setup skills! 💪

:::tip Success Celebration 🎊
If you've made it this far, you deserve a pat on the back! You've successfully connected Salesforce to TurboDocx. That's no small feat — you're basically a tech wizard now! 🧙‍♂️ Time for a victory dance! 💃🕺
:::

### Check the connection for TurboSign for Salesforce

Skip this if you only generate documents. If you use [TurboSign for Salesforce](#send-for-signature-with-turbosign-for-salesforce), TurboDocx saves each signed PDF back to Salesforce through this connection. If you already used the Salesforce integration before installing TurboSign for Salesforce, check that your connection meets everything below.

- **Connect the same Salesforce org the package is installed in.** The package sends its Salesforce org ID with each document. When the document is signed, TurboDocx saves the files through the connection to that same org. Only active connections of active TurboDocx users count. If no connection matches the org, nothing is saved, and TurboDocx records the failure. Saving signed files back needs TurboSign for Salesforce 1.1.0 or later, which sends the org ID. Earlier versions still send and sign, but the signed files are not saved back.
- **Connect with the right Salesforce user.** That user must be able to create files and edit the records you send from, including the field you pick under **On Completion**. A dedicated integration user works best, so the connection doesn't break when a person leaves or changes their password.
- **You can connect more than one Salesforce org.** For example, connect both a sandbox and production. Each send uses the connection to the org it was sent from. To connect a sandbox, see [Connect a sandbox](#configure-salesforce-integration) above.
- **Check the app's scopes.** The connection needs the **api** scope, the **refresh_token** (offline access) scope, and the **openid** scope, because TurboDocx checks which Salesforce org each connection belongs to. See [Configure API Settings](#configure-api-settings). If you added **openid** to an existing app, reconnect Salesforce in TurboDocx.
- **Leave the refresh token policy as Salesforce sets it.** See [Edit Policies](#edit-policies) for the 30-day limit and what happens if the connection stops working.

Sending documents for signature works without this connection. You need it to save the signed files and the signing status back to Salesforce.

## Step 4: Generate documents from Salesforce data

Time to put your new integration to work! This is where the real magic happens — turning your boring Salesforce data into beautiful, professional documents that'll make your colleagues go "WOW!" 🤩✨

### Creating Your First Document

1. **Go to document generation**
   - On the TurboDocx **Home** page, click **Create a Document**
   - To make slides instead, click **Create a Presentation**

![Document Creation Page](https://docs.turbodocx.com/img/salesforce-integration/Create_document_button.png)

2. **Select Template**
   - Click on the template you want to work with

![Template Selection](https://docs.turbodocx.com/img/salesforce-integration/template_selection_page.png)

3. **Change your data source**
   - On the **Generate Variables with AI** page, open the **Source** dropdown under a variable (it shows **No resource selected** until you pick one)
   - Select **Change Resource** from the menu

![Source Change Dropdown](https://docs.turbodocx.com/img/salesforce-integration/source_change_dropdown.png)

4. **Go to the App Library**
   - Click on the "App Library" tab
   - This shows all your connected integrations

![App Library Interface](https://docs.turbodocx.com/img/salesforce-integration/app_library_interface.png)

5. **Select CRM category**
   - Look for "CRM" and click on it
   - This filters to show only CRM integrations

![CRM Category Selection](https://docs.turbodocx.com/img/salesforce-integration/CRM_category_selection.png)

6. **Choose Salesforce**
   - Click on "Salesforce" (you should see the Salesforce logo)
   - It should show as "Connected"

![Salesforce Selection](https://docs.turbodocx.com/img/salesforce-integration/Salesforce_selection.png)

7. **Click "Continue"**
   - This takes you to the Salesforce agent interface

![Continue Button](https://docs.turbodocx.com/img/salesforce-integration/salesforce_continue_button.png)

### Using the Salesforce Agent

8. **Select your records** (optional but helpful)
   - Click "Select Records" to choose specific accounts, opportunities, contacts and many other fields
   - This helps the AI focus on the right data

![Record Selection Interface](https://docs.turbodocx.com/img/salesforce-integration/record_selection_interface.png)

9. **Choose relevant records**
   - Click on accounts, opportunities, contacts or other fields relevant to your document
   - Selected items will be highlighted
   - Click "Save" to confirm your record selection

![Record Selection Process](https://docs.turbodocx.com/img/salesforce-integration/record_selection_process.png)

10. **Give instructions to the AI** 🤖
    - Type what kind of document you want in plain English (no tech jargon needed!)
    - Be specific about what you want to create
    - Sit back, relax, and watch the magic happen! ✨
    - Generation typically takes 30 seconds to 2 minutes (perfect time for a coffee sip! ☕)

![Prompt Input Interface](https://docs.turbodocx.com/img/salesforce-integration/prompt_input_interface.png)

**Example prompts:**

- "Create a professional proposal section for the selected opportunity using the account's information"
- "Generate a follow-up slide summarizing our recent meeting with this account"
- "Create a company overview report using the selected account data"
- "Draft a project kickoff overview for the selected opportunity and contacts"

11. **Review your document** 👀
    - Check that all the information looks correct
    - Make any necessary edits
    - Marvel at your personalized, professional document and do a little happy dance! 💃🕺

:::tip Pro Document Tips

- Be specific in your instructions — "Create a proposal" vs. "Create a detailed Q3 marketing proposal section for ABC Corp with pricing and timeline"
- Select the right records — more relevant data = better documents
- Don't be afraid to regenerate if the first attempt isn't perfect
- Save successful prompts for future use!
:::

## Send for signature with TurboSign for Salesforce

TurboSign for Salesforce lets your team send a TurboDocx document for e-signature straight from a Salesforce record. The document fills itself from the record's fields, the signers come from the record, and when everyone has signed, the signed PDF and its audit trail are saved back to the record. The record can also move to a new stage automatically, for example **Closed Won**.

### How it works

1. An admin builds a **document setup** once: which TurboDocx template to use, which Salesforce fields fill it, who signs, and where each person signs.
2. A sales rep opens a record, clicks **Send for Signature**, reviews the filled-in values and the finished document, and clicks **Send**.
3. Each signer gets an email, verifies their identity if your organization requires it, and signs in the browser.
4. When the last signer finishes, TurboDocx writes the signed PDF and the audit trail to the record's files and updates the stage you chose.

Your TurboDocx API key never sits in a Salesforce field. It is stored encrypted in a Salesforce **External Credential** and added to each request by Salesforce itself, so nobody can read it back from Setup.

### TurboSign for Salesforce guides

| If you want to… | Read |
|---|---|
| Install the package in your Salesforce org | [Install TurboSign for Salesforce](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/install.md) |
| Find the install link for your org type, or check your installed version | [One-click install links](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/install-links.md) |
| Set everything up in Salesforce Setup, click by click | [Set up TurboSign for Salesforce](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/setup.md) |
| Send a document and see what signers experience | [Send a document for signature](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/send-and-sign.md) |
| Configure it from the Salesforce CLI after installing | [Scripted setup for admins](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/scripted-setup.md) |
| Fix an error message | [Troubleshooting TurboSign for Salesforce](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/troubleshooting.md) |

### What you need for TurboSign for Salesforce

- A Salesforce org where you are a System Administrator, on an edition that can run it. See [Which Salesforce orgs can use it](#which-salesforce-orgs-can-use-it).
- A TurboDocx account with TurboSign, plus an **API key** and your **Organization ID**. See [Getting your credentials](https://docs.turbodocx.com/docs/TurboSign/API-Signatures.md#getting-your-credentials).
- A TurboDocx template. Every spot where someone signs must already be in the template as a text token, for example `{sig}`.
- To save signed files back to Salesforce: the Salesforce connection from [Steps 1 to 3](#step-1-create-a-private-salesforce-external-client-app), checked against [Check the connection for TurboSign for Salesforce](#check-the-connection-for-turbosign-for-salesforce). Saving signed files back depends on TurboDocx's Salesforce write-back feature, which is part of TurboDocx and uses that connection to save the signed PDF to the record. The Salesforce integration is included on the TurboDocx **Pro** and **Enterprise** plans. Sending for signature works without it.

### Which Salesforce orgs can use it

Your Salesforce **edition** decides whether TurboSign for Salesforce can run in your org. The **install method** decides who puts it there.

TurboSign for Salesforce includes custom Apex code, so it needs an edition that runs custom Apex.

| Salesforce edition | Can use TurboSign for Salesforce |
|---|---|
| Enterprise | Yes |
| Unlimited | Yes |
| Performance | Yes |
| Developer Edition | Yes |
| Sandboxes of the editions above | Yes |
| Professional | No |
| Group | No |
| Starter, Pro Suite, Essentials | Not supported |

Professional and Group editions block custom Apex unless it ships in a managed package that passed the Salesforce AppExchange security review. TurboSign for Salesforce is not offered that way today. If you are on Starter, Pro Suite, or Essentials, or you are not sure which edition you have, check with your Salesforce account rep.

#### How it gets installed

| Method | Who can do it | Upgrades and removal |
|---|---|---|
| **[One-click install link](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/install-links.md)** | Any Salesforce admin in your org, by clicking the link | A new version installs over the old one. Uninstall in one click. |
| **[Deploy from source](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/install.md#deploy-from-source-with-the-salesforce-cli)** with the Salesforce CLI | A developer, using `sf project deploy start` | Manual. Deploying to production runs your org's Apex tests, which must reach 75% code coverage. |

There are two ways to install, and step-by-step instructions for both are in [Install TurboSign for Salesforce](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/install.md). The method doesn't change which orgs can run TurboSign for Salesforce. It changes whether your own admin can install it, or whether someone has to deploy it for you. Either way, the person installing needs permission to install packages, which the **System Administrator** profile has.

## Troubleshooting 🤔

Even the best-laid plans sometimes go awry (Murphy's Law is real, folks!). Don't worry — we've got your back! Here are solutions to common issues with the connection and with document generation. For TurboSign for Salesforce error messages, such as a signed PDF that never appears on the record, see [Troubleshooting TurboSign for Salesforce](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/troubleshooting.md).

### "I Can't Find the Setup Menu in Salesforce"

**Solution**:

- Look in the top right corner of your Salesforce interface
- Click on your profile picture or the gear icon
- Select "Setup" from the dropdown menu
- If you still can't find it, you might need System Administrator permissions

### "I Can't Find 'New External Client App'"

**Solution**:

- Make sure you're in App Manager (Platform Tools > Apps > App Manager)
- Click the **New App** dropdown, then choose **New External Client App** (not "New Lightning App")
- If you don't see this option, you might need System Administrator permissions
- Some Salesforce orgs might have different permission requirements

### "Invalid Consumer Key/Secret" Error

**Solution**:

- Double-check that you copied the entire key and secret (they're usually quite long)
- Make sure there are no extra spaces at the beginning or end
- Verify your Salesforce external client app is still active
- Complete the identity verification step when you click **Consumer Key and Secret**
- If all else fails, create a new external client app and get fresh keys

### "Permission Denied" Error

**Solution**:

- Check that you added all the required OAuth scopes to your Salesforce external client app
- Verify you selected: OpenID, API, Web, and Refresh token scopes
- Make sure you're a System Administrator in your Salesforce org
- Verify the external client app is enabled and policies are configured correctly

### "redirect_uri_mismatch" Error

**Solution**:

- Check that the callback URL in your Salesforce external client app is exactly `https://api.turbodocx.com/oauth/salesforce/callback`
- Changes to an external client app, such as the callback URL or its policies, can take several minutes (up to about 10) to apply. During that time, signing in to a sandbox or scratch org through `test.salesforce.com` may return this error
- Wait a few minutes and try again, or sign in through your org's My Domain login URL instead

### "Reconnect Salesforce" Message in TurboDocx

**Solution**:

- This means TurboDocx can no longer use the connection, for example because a Salesforce admin revoked it or the connected user can no longer log in
- TurboDocx shows this message in the Salesforce settings dialog, not on the Salesforce card itself, and also emails your organization's admins
- Open **Settings > Features and integrations** in TurboDocx, click **Configure SalesForce** on the Salesforce card, and connect Salesforce again
- Reconnecting is safe: your current connection keeps working until the new one succeeds
- If you use TurboSign for Salesforce, signed files that couldn't be saved while the connection was down arrive on their own if you reconnect within about a day. See [The signed PDF never appears on the record](https://docs.turbodocx.com/docs/Integrations/turbosign-for-salesforce/troubleshooting.md#the-signed-pdf-never-appears-on-the-record)

### "No Records Found" in TurboDocx

**Solution**:

- Make sure you have actual data in your Salesforce org (accounts, opportunities, contacts)
- Click "Refresh Fields" again in **Settings → Features and integrations**
- Check that your Salesforce external client app has the right permissions and policies configured

### "The Agent Doesn't Understand My Instructions"

**Solution**:

- Be more specific in your prompts
- Use simpler language
- Include the type of document you want (email, proposal, report, etc.)
- Try selecting more specific records

:::tip When All Else Fails 🎆
If you're still stuck, don't panic! Take a deep breath — you've got this! 💪 Take a screenshot of any error messages, note exactly what step you're on, and contact our support team. We're here to help, not judge your tech skills (we've all been there!). Think of us as your friendly tech support sidekicks! 🤝🦾
:::

## Security and Privacy

Your data security is important to us (and should be to you too!):

### How Your Data is Protected

- **Secure Authentication**: We use OAuth 2.0 (fancy industry-standard security)
- **Scoped Access**: The connection uses your Salesforce user's API access, so it can only reach what that user can reach. In practice TurboDocx reads the fields you map. If you use [TurboSign for Salesforce](#send-for-signature-with-turbosign-for-salesforce), it also adds signed files to records and can update the one field you choose under **On Completion**
- **Encrypted Transmission**: All data transfers are encrypted (like sending a letter in a locked box)

### Best Practices

- **Keep Your Keys Secret**: Don't share your consumer key and secret with anyone
- **Regular Reviews**: Periodically check which integrations have access to your data
- **Monitor Connected Apps**: Regularly review connected apps in your Salesforce org

## Tips for Success

### Getting the Best Results

**Keep Your Salesforce Data Clean**:

- Use consistent naming conventions
- Fill in important fields (account info, opportunity values, etc.)
- Keep your data up-to-date

**Write Clear Instructions**:

- Be specific about what you want
- Mention the type of document
- Include any special requirements

**Select the Right Records**:

- Choose records that are relevant to your document
- Don't select too many records at once
- Quality over quantity!

### Advanced Tips

**For Better Proposals**:

- Select the account, opportunity, and contact records
- Include opportunity value and close date information
- Mention specific products or services

**For Better Reports**:

- Select relevant accounts and opportunities
- Include date ranges if applicable
- Specify the type of analysis you want

**For Better Follow-ups**:

- Select recent meeting attendees
- Include opportunity or project context
- Mention next steps or action items

## What's Next? 🎆

Congratulations, integration superstar! You've successfully:

- ✅ Created a Salesforce external client app (you're basically a developer now! 👩‍💻)
- ✅ Configured its policies and retrieved credentials (security expert: level unlocked! 🔒)
- ✅ Connected it to TurboDocx (networking ninja: mastered! 🥷)
- ✅ Generated your first document (content creation wizard: achieved! 🧙‍♀️)

### Now You Can: 🎉

- Create personalized proposals in minutes instead of hours (time saver level: EXPERT! ⏱️)
- Build comprehensive reports using your CRM information (data wizard status: UNLOCKED! 📊)
- Automate document creation for your entire team (team hero achievement: EARNED! 🦾)

### Next Steps: 🚀

1. **Train your team** on being a prompting pro (share your newfound expertise!)
2. **Create document and presentation templates** for common use cases (you're basically a template architect now!)
3. **Experiment with different AI prompts** to find what works best (become the AI whisperer of your office! 🤖🗣️)
4. **Send documents for signature from Salesforce** with [TurboSign for Salesforce](#send-for-signature-with-turbosign-for-salesforce), which uses the connection you just made to save signed PDFs back to your records

:::tip Final Words of Wisdom 🎓
Remember, you're not just creating documents or presentations — you're creating more time for yourself by automating repetitive tasks. Every minute saved on copy-pasting customer data is a minute you can spend on more important things (like actually talking to customers, or grabbing that extra cup of coffee! ☕). You're officially a productivity ninja now! 🎉🥷
:::

## Getting Help

**If you need assistance:**

1. **Check this guide first** (you'd be surprised how often the answer is right here!)
2. **Take screenshots** of any error messages
3. **Note the exact step** where you got stuck
4. **Contact our TurboDocx support team** with the details

**Remember**: There's no such thing as a bad question. We've all been there, and we're here to help you succeed! You're part of the TurboDocx family now! 💪🏠

---

_Happy document generating, integration champion! May your proposals be persuasive, your reports be comprehensive, your follow-ups be timely, and your coffee always be hot! ☕🚀✨_
