See the Channel Catalog to see which Plans have access to this channel.
Salesforce is an online customer relationship management solution tracking information for marketing and sales efforts.
Please note that terms used in the Salesforce channel categories are Salesforce specific terminology.
How to Connect
- On the My pipelines page, click Create Pipelines.
- Search for the first step for your new pipeline. You can always add more steps later.
- To use the legacy builder, click the Pipeline Designer toggle to use the legacy version of the pipeline builder.
For more information about connections, see How to connect to a channel.
Connect to Salesforce
- Expand Salesforce in the list of channels on the right side of the page and click Connect to Salesforce.
- In the pop-up window, select the account type from the dropdown. When finished click Connect to Salesforce.
- Enter your Username and Password in the next window and select Log In when complete.
- Then allow Pipelines access by clicking Allow.
How to reconnect
You may need to reconnect your account to a channel. Reasons may be (but not limited to):
- If you need to connect a different account.
- Authorization updates, such as a changed password.
- Editing the access rights that Pipelines has to the channel.
To reconnect:
- Select a pipeline that already has this channel in it.
- Open a step that contains this channel.
- Under account, select Connect (or reconnect) and follow the process above, How to connect.
Steps
The steps you can use with Salesforce are grouped into a single category: Salesforce Objects.
Note: You cannot use jinja expressions in trigger conditions unless explicitly specified as possible.
Type | Name | Description |
---|---|---|
Salesforce Objects | ||
Trigger | Object Created | Triggers when a new object is created within an account and is a specific object type. |
Trigger | Object Updated | Triggers the pipeline when a specific object type in a particular account is updated. |
Trigger | Object Deleted | Triggers when an object is deleted in a particular account. |
Action | Create an Object Record | Creates a new object in an account of a particular object type. The payload size limit is 100MB. |
Action | Update an Object Record | Updates an object found with a particular object type and subject. The payload size limit is 100MB. |
Action | Delete an Object Record | Deletes an object found with a particular object type and subject. |
Action | Query Single Object | Searches for and returns a Salesforce object using an SOQL query. |
Action | Upsert Object | Updates or inserts an object based on an external ID. |
Query | Generic SOQL Query | Executes SOQL query. |
Query | Search Objects | Searches for an object of a particular object type within an account. |
Action | Fetch a Linked Object | Fetches a prior linked object. |
Action | Look Up an Object | Looks for and returns a list of objects based on search criteria. |
Example
In our example a company that manufactures medical imaging equipment tracks their sales pipeline using Salesforce. Their legal team supports sales by developing contracts for each client. The legal team tracks their project work for drawing up contracts using a Quickbase app. Each team’s day-to-day operations are running smoothly, except that the process of the sales team engaging the legal team involves manual steps. This has led to delays in closing deals, and prospective customers getting frustrated.
Since this division of the company focuses solely on medical imaging equipment, every client needs a contract defining the terms of the sale and maintenance of the machines. Sales leadership has discussed this problem and realized that they want the legal team to begin working on a contract once a sales opportunity enters the proposal stage. They are confident this will give everyone involved enough time to work out the details of the deal. Fortunately, they just began using Quickbase Pipelines and will use it to automate this process.
Overview of example pipeline
Before designing the pipeline in Quickbase, the sales leadership team defined in detail how the automated process should work. The overall goal of the pipeline will be, when a Salesforce opportunity enters the proposal stage, add a project record in the legal team’s Contract Management Quickbase app.
After considering how the data is stored both in Quickbase and Salesforce, they came up with these steps:
-
Step A: Trigger the pipeline when an opportunity in Salesforce enters the proposal stage.
-
Step B: Take the Salesforce opportunity’s custom email address field called Contact who will sign contract – email and use it to search for the right contact.
-
Step C: Take the target close date from the opportunity, and the name and email from the contact, and use it to add a project record to the legal team’s Contract Management Quickbase app.
-
Step D: Update the Salesforce opportunity that triggered this process, marking the following custom field TRUE: Legal has received contract request.
Next, we'll look at each step in the process
Step A: Salesforce opportunity trigger
Step A triggers the pipeline when an opportunity in Salesforce enters the proposal stage.
Here’s how to set it up:
-
Create a new pipeline, then give it a name.
-
Open the Salesforce channel, then drag the Object Updated trigger onto the canvas as Step A.
-
Select your Salesforce account or connect to it if you haven’t already.
-
Under Object Type, search for Opportunity.
-
Under Fields, search for and select Contact who will sign contract – email, and Legal has received contract request.
-
Click Add Conditions.
-
Build this condition: (Stage) (is) (Proposal/Price Quote).
-
Click And to add a second condition.
-
Build this condition: (Legal has received contract request) (is) (no).
Step B: Search for the contact who needs to sign
Step B takes the Salesforce opportunity’s custom email address field called Contact who will sign contract – email and uses it to search for the right contact. We need information from the contact such as their name and email address.
Here’s how to set it up:
-
In the Salesforce channel on the right, drag the Search an Object query onto the canvas as Step B.
-
Select the appropriate Salesforce account.
-
Under Object Type, search for Contact and select it.
-
Under Fields, search for these fields and select them: Full Name, Email, and Business Phone.
-
Under Query, drag this field from the box in the middle of the page: Contact who will sign contract – email.
-
Under Query, update the entry:
WHERE Email = '{{a.contact_who_will_sign_contract_email_c}}'
-
Under Limit, enter 1 to avoid duplicate contacts being processed.
Step C: Create project record for legal team in Quickbase
Step C takes the target close date from the opportunity, and the name and email from the contact, and uses it to add a project record to the legal team’s Contract Management app in Quickbase.
Here’s how to set it up:
-
Open the Quickbase channel on the right, click Records, then drag the Create Record action as Step C. Be sure to drag it under the DO block.
-
Under Account, select the Contract Management app or connect to it if you have not already done so (click here to learn how).
-
Under Table, select Projects.
-
Under Select Fields to Specify Values, we’ll select Contact Full Name, Contact Email, Contact Phone, and Target Close Date.
-
From the box in the middle of the page, drag Full Name into the Contact Full Name box on the left. Repeat for the Contact Email and Contact Phone
-
Also from the box in the middle of the page, click the Step A header to expand it.
-
Drag the Close Date into the Target Close Date box on the left.
Step D: Update opportunity to indicate that legal project has been created
Step D updates the Salesforce opportunity that triggered the pipeline, marking the following custom checkbox field TRUE: Legal has received contract request. This ensures that the pipeline will only run once for each opportunity.
Here’s how to set it up:
-
Open the Salesforce channel from the menu on the right, then drag the Update an Object action as Step D. Be sure to drag this step outside of the DO branch.
-
Under Subject (which is short for “Salesforce object”), make sure the object from Step A is selected. This is the opportunity.
-
Click Add Fields.
-
Under Legal Has Received Contract Request, select Yes. You should not drag a value from the middle of the page this time because every time this pipeline runs, we want to set this checkbox to Yes.
Testing your pipeline
To test your pipeline, click the Pipeline off toggle on the top-right. Then, switch to your Salesforce instance and set up a test contact and a test opportunity to make sure the pipeline is working properly. The testing window in Pipelines will show you the progress of the pipeline, and give you details about each step the pipeline is taking.
NOTE: Salesforce does not support Webhooks, which means that pipelines will periodically check Salesforce data to see whether a pipeline should run (this technique is called polling). As opposed to other Pipelines channels such as Quickbase, whose pipelines will trigger right away, Salesforce pipelines may take a few minutes before they trigger.
Taking it to the next level
After automating this process, how else could Pipelines’ Salesforce channel help this hypothetical company close even more deals? Here are a few more ideas to inspire your creativity:
- Once the contract has been finalized, they could set up a pipeline to move the final contract PDF from their Box account to Docusign, and email the client the signature request.
- Perhaps they have a marketing team working on an email campaign targeted to certain prospects. They could create a pipeline to listen for contacts being added to Salesforce, and add them to a marketing campaign Quickbase app.
- If the legal team has had issues with the signers changing their email address during contract negotiations, they could update the pipeline above to link the project record in Quickbase back to the opportunity in Salesforce. Then they could create another pipeline which listens for the contact’s email address being updated in Quickbase, and update the opportunity in Salesforce appropriately (learn more about linking records in Pipelines).
- They could celebrate their sales team’s success with a pipeline that listens for a deal being closed in Salesforce and posts a congrats message to the team’s Slack channel.
Note: Since requests from Pipelines do not originate from a static IP, you should uncheck the Salesforce setting lock sessions to the IP address from which they originated if you encounter issues building pipelines with the channel. For more details see What are Quickbase's IP addresses?