Note: This integration is currently in testing and is set to be released soon.
This automation can be used on its own, or in addition to the existing Salesforce integration.
This integration allows accounts to:
- Pull in any field from Salesfoce - opportunities, CPQ quotes, custom objects, you name it
- Use all field types - dates, picklists, custom fields whatever you need
- Display lists of data in tables for things like pricing
Setup
Setting up Salesforce requires Admin access to both Proposify and Salesforce. If you don't have access to the Automations tab in Proposify, check your plan or with your our support team.
Go to "Integrations" -> "Automations" and then click on "Salesforce Flexdata"
Skip the first step, connect to both Proposify and Salesforce, and then click "Next"
Now that you're authenticated, you can configure the integration. If you miss something in the configuration steps, you can always come back to reconfigure later.
In the “Entity Types” step, search and select all the record types that you want to import into Proposify.
A standard example could be:
- Account
- Contact
- Opportunity
- Opportunity Products
Next, select the fields for each entity type. You can click on the object name at the top of the page to switch between them. Don't worry if you miss a field, you can always come back and update these settings.
You'll notice for each object, there is a setting for “Top-Level”. Top level objects are the main ones you'll be linking to Proposify documents. If I set “Opportunity” as top level, I'll be able to link opportunities to my proposals. When linking a top level object, all the other objects that are linked to the top level will be available as well.
Example:
Opportunity is set as the only top-level object. Since the opportunity is associated with an account and contact, accounts and contact fields are nested under the opportunity fields.
Rather than needing to link each contact, account, product individually, you can select one object as top level to import everything linked to it.
Note: You can have multiple objects as Top-Level. In cases where you want to pull it records that are unrelated, you can set multiple top level objects to allow you to link them separately.
Using CRM Fields
As noted in the example above, you can use variables to access fields selected during the integration setup. With just one top-level object selected, you'll have access to all the fields from linked objects.
In the template and proposal editor, click on “Variables” in the right sidebar, or use the shortcut key to list all your variables. There will be sections at the end for all of the top-level objects you selected.
Note: If you see multiple sections for Salesforce (Opportunity, account, contact, opportunity products, etc), it means that these are still selected as Top-level in the settings. We recommend keeping only one or two top-level objects because all the fields will still be available nested under the main object.
Displaying Pricing
This section focuses on displaying pricing, but will work for displaying any list of objects or data.
Using our FlexData tables, you can display list of records in tables. Start by adding a “Data Grid” table to your document. This is a new table similar to regular content tables, but with a new row type for CRM FlexData.
Next, add a row and change the type to “Template”.
In the template row, add fields for your opportunity products. You'll see it duplicated in the next row below. This is normal and just acts a a placeholder. The second row will be replaced by multiple rows for each opportunity product once linked to Salesforce data.
You can mix fields in regular row types along with the fields in the template row type. Here's a completed table with a header row, a template row with the Opportunity product fields, and a footer row with the Opportunity total.
Linking Salesforce records to proposals
Before moving on to this step, we recommend making sure all your fields are set up in the template.
Once all your fields are configured, create a document using the template.
There are two ways Salesforce records can be connected to proposals. If you are using the main Salesforce integration, when you connect an opportunity to a proposal, it will automatically link it through Flexdata as well and pull in all the fields.
If you are not using the main Salesforce integration, or want to connect objects other than opportunities, scroll to the bottom of the right side panel and find “Link Flex Data”
You'll see all the Top Level objects you selected during setup as options for linking fields. Search for and select the records you want to connect. Once selected, click on “Add Flex Data link”.
If you don't see the object you're looking for, it may not have synced yet. Go into Salesforce and update any of the selected fields to trigger a new sync.
You may need to refresh the page after linking the data, but you'll see all the fields update with the data from Salesforce. You can see our example with the table has updated with all the products listed on the opportunity.
Data Sync
When connecting the Salesforce integration, Proposify will start with a bulk import of data from the last month. Following the bulk import, any time the configured objects are created or updated, the new data will be synced to Proposify's FlexData storage.
This means that proposals linked to Salesforce will update automatically when the source is updated. All you need to do to see the updates is refresh the editor or preview.
Once a document is signed/locked, updates will no longer reflect on the Proposify document.