Salesforce Integration
Overview: see TurboSign for Salesforce overview and pricing.
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 to connect Salesforce to TurboDocx, then Step 4 |
| Send documents for signature from Salesforce records | Send for signature with TurboSign for Salesforce. To have the signed PDF saved back to the record, also do Steps 1 to 3 and check the connection for TurboSign |
| 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β
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)
- 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!)
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β
-
Open your web browser and go to salesforce.com
- Use Chrome, Firefox, Safari, or Edge
-
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!)

Navigate to Setup Homeβ
- 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
![]()
- Click on "Setup"
- Select "Setup" from the dropdown menu
- You will be navigated to the Setup Home page

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

Create a New External Client Appβ
- 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")

Configure Basic Informationβ
- 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"

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β
- 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/callbackas the callback URL - Salesforce only accepts callback URLs that start with
https://. Anhttp://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.commay returnredirect_uri_mismatch. If it does, wait a few minutes, or sign in through your org's My Domain login URL

- 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)
- In the Selected OAuth Scopes section, select the following scopes:

You'll be adding several different permissions. It's like checking off a grocery list β but necessary for the feast ahead! π
- 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
- In the "Flow Enablement" section under OAuth settings, make sure only the following checkbox is ticked

- 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
- In the "Security" section under OAuth settings, tick the following checkbox:

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

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β
- 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

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

- 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"
- In the "Edit" view, locate the OAuth policies and configure the following settings:

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.
- Save Changes
- Click "Save" to apply the policy changes

Retrieve Consumer Key and Secretβ
- 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

- 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

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

- 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

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β
- Open the account menu
- Click your account avatar at the bottom of the left sidebar

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

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

Configure Salesforce Integrationβ
- Find the Salesforce card
- Look for the Salesforce logo under the integrations

- Click "Configure SalesForce" π
- A popup or form will appear
- This is where the magic happens! Time to make these two apps best friends! β¨π―ββοΈ


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.
- 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)

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

Establish the OAuth Flow for Salesforceβ
- Click "Connect to Salesforce"
- Save your configuration first (step 7), then click this button
- You'll be redirected to Salesforce to authorize the connection

- 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β
- 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

- 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! πͺ
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, 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 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. If you added openid to an existing app, reconnect Salesforce in TurboDocx.
- Leave the refresh token policy as Salesforce sets it. See 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β
- Go to document generation
- On the TurboDocx Home page, click Create a Document
- To make slides instead, click Create a Presentation

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

- 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

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

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

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

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

Using the Salesforce Agentβ
- 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

- 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

- 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! β)

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"
- 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! ππΊ
- 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β
- An admin builds a document setup once: which TurboDocx template to use, which Salesforce fields fill it, who signs, and where each person signs.
- A sales rep opens a record, clicks Send for Signature, reviews the filled-in values and the finished document, and clicks Send.
- Each signer gets an email, verifies their identity if your organization requires it, and signs in the browser.
- 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 |
| Find the install link for your org type, or check your installed version | One-click install links |
| Set everything up in Salesforce Setup, click by click | Set up TurboSign for Salesforce |
| Send a document and see what signers experience | Send a document for signature |
| Configure it from the Salesforce CLI after installing | Scripted setup for admins |
| Fix an error message | Troubleshooting TurboSign for Salesforce |
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.
- A TurboDocx account with TurboSign, plus an API key and your Organization ID. See 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, checked against 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 | 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 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. 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.
"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.commay 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
"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
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, 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: πβ
- Train your team on being a prompting pro (share your newfound expertise!)
- Create document and presentation templates for common use cases (you're basically a template architect now!)
- Experiment with different AI prompts to find what works best (become the AI whisperer of your office! π€π£οΈ)
- Send documents for signature from Salesforce with TurboSign for Salesforce, which uses the connection you just made to save signed PDFs back to your records
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:
- Check this guide first (you'd be surprised how often the answer is right here!)
- Take screenshots of any error messages
- Note the exact step where you got stuck
- 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! βπβ¨