Setting up Salesforce as a Source
Connecting Salesforce or Salesforce Service Cloud as a Source in Guru allows teams to seamlessly bring critical customer and sales information into their knowledge workflows. This article explains how to set up each one.
Access RequiredGuru Access: You need to be an Admin, Source Creator, or relevant custom role to set up Sources.
Salesforce Access: You need API Access, which is available in Enterprise, Unlimited, Developer, and Performance Editions per the Salesforce Help page.
- The authorizing user should have a valid Salesforce user with API Access enabled. The simplest option is a Profile of System Administrator.
- For Salesforce Service Cloud, you can instead grant a minimum set of object permissions. See Setting Salesforce Service Cloud permissions.
Setting Up Salesforce CRM as a Source
- Navigate to Manage > Sources.
- Select Salesforce from the icon menu.
- Select Authorize Access.
- Optional: Rename the Source.
- If you'd like to use your credentials to complete the process, select "Use my credentials (recommended)."
- Click Next.
- Enter your subdomain in the linking flow and click Next. Log in to your Salesforce account and note your subdomain.
- For example, if you sign in at
acme.service-now.com, enteracme.
- For example, if you sign in at
- Enter your Salesforce credentials. Provide your username and password that you use to log into Salesforce.
- Follow the prompts to complete the setup.
- If you'd like to use a security token to organization ID to complete the process, select Salesforce Security token and Organization ID.
- Click Next.
- To find or reset your Security Token:
- From your personal settings, enter Reset in the Quick Find box.
- Select Reset My Security Token, then click Reset Security Token.
- Your new token will be sent to the email address listed in your Salesforce personal settings.
- To locate your Organization ID:
- In Classic: Go to Setup > Administer > Company Profile > Company Information.
- In Lightning: Click the Gear icon > Setup > Company Settings > Company Information.
- Enter both values in the linking flow when prompted.
- Follow the prompts to complete the setup.
Objects Synced from Salesforce CRM
Primary objects are the objects used to generate the search record.
| Salesforce CRM Category | Common Model / What You'll See During Setup | Objects/Data Brought In | Key Fields |
|---|---|---|---|
| Opportunities | Primary Object: Opportunity | Deal opportunities and sales pipeline | ⢠Name ⢠Description ⢠Amount ⢠Owner ⢠Account ⢠Stage ⢠Status ⢠Last activity at ⢠Closed at ⢠Remote created at ⢠Remote ID ⢠Remote data |
| Accounts | Primary Object: Account | Companies and organizations | ⢠Name ⢠Description ⢠Industry ⢠Website ⢠Number of employees ⢠Addresses ⢠Phone numbers ⢠Owner ⢠Last activity at ⢠Remote created at ⢠Remote updated at ⢠Remote ID ⢠Remote data |
| Users | User | CRM users with login access | ⢠Name ⢠Email ⢠Is active ⢠Remote ID ⢠Remote data |
| Notes | Note | Notes on other objects | ⢠Content ⢠Owner ⢠Contact ⢠Account ⢠Opportunity ⢠Remote created at ⢠Remote updated at ⢠Remote ID ⢠Remote data |
| Stages | Stage | Opportunity pipeline stages | ⢠Name ⢠Remote ID ⢠Remote data |
| Tasks | Task | To-do items and activities | ⢠Subject ⢠Description ⢠Status ⢠Due date ⢠Owner ⢠Account ⢠Contact ⢠Opportunity ⢠Completed date ⢠Remote created at ⢠Remote updated at ⢠Remote ID ⢠Remote data |
Setting Up Salesforce Service Cloud as a Source
- Navigate to Manage > Sources.
- Select Salesforce from the icon menu.
- Select Authorize Access.
- Optional: Rename the Source.
- Click Next.
- Under Ticket modified at > Is greater than or equal to, set the sync to begin from your chosen date.
- You have the option to add additional filters, as well, by clicking +Filter.
- Click Next.
- Enter your page domain and click Next.
- For example, if you sign in at
https://mydomain.lightning.force.com..., entermydomain.
- For example, if you sign in at
- Enter your Salesforce credentials. Provide your username and password that you use to log into Salesforce.
- Follow the prompts to complete the setup.
Objects Synced
| Salesforce Service Cloud Category | Common Model / What You'll See During Setup | Objects/Data Brought In | Key Fields |
|---|---|---|---|
| Tickets | Ticket | Cases and support tickets | ⢠Name ⢠Description ⢠Status ⢠Priority ⢠Ticket type ⢠Ticket URL ⢠Account ⢠Contact ⢠Creator ⢠Assignees ⢠Assigned teams ⢠Collections ⢠Parent ticket ⢠Completed at ⢠Due date ⢠Remote created at ⢠Remote updated at ⢠Remote ID ⢠Remote data |
| Comments | Comment | Case comments and replies | ⢠Body ⢠HTML body ⢠Is private ⢠User ⢠Contact ⢠Ticket ⢠Remote created at ⢠Remote ID ⢠Remote data |
| Accounts | Account | Companies associated with cases | ⢠Name ⢠Domains ⢠Remote ID ⢠Remote data |
| Users | User | Service Cloud agents and admins | ⢠Name ⢠Email address ⢠Is active ⢠Avatar ⢠Roles ⢠Teams ⢠Remote ID ⢠Remote data |
| Collections | Collection | Queues and case groupings | ⢠Name ⢠Description ⢠Collection type ⢠Parent collection ⢠Remote ID ⢠Remote data |
Setting Salesforce Service Cloud permissions
The Salesforce user who connects Service Cloud to Guru needs permission to read Cases, Users, and related data. You can grant this with a single Profile or set up more granular permissions.
Use the System Administrator profile (recommended)
The simplest option is to give the connecting user a Profile of System Administrator. This grants all the permissions Guru needs to pull in Service Cloud data like Cases, Incidents, and Users.
- In Salesforce, go to Setup > Administration > Users.
- Select the user who will connect the Source.
- Set their Profile to System Administrator.
Grant minimum permissions
If you'd rather not use the System Administrator profile, grant only the permissions listed below. You'll make most of these changes on the user's Profile.
- In Salesforce, go to Setup > Administration > Users and open the user's Profile.
- Click Edit.
- Scroll to Standard Object Permissions and update the permissions in the table below.
- Click Save.
NoteYou can also view object settings under Setup > Administration > Permission Sets, but you shouldn't need to change anything there. Learn more about the differences between Profiles and Permission Sets and object permissions in Salesforce's documentation.
| To... | Permissions needed | Where to find it |
|---|---|---|
| Install and uninstall connected apps | Customize Application, and either Modify All Data or Manage Connected Apps | See Salesforce's guide to installing a connected app |
| Manage, create, edit, and delete OAuth apps | Manage Connected Apps | See Salesforce's guide to managing OAuth connected apps |
| Access Contacts | Contacts: Read, Create, Edit, View All | Profile > Standard Object Permissions |
| Access Accounts | Accounts: Read, View All | Profile > Standard Object Permissions |
| Access Users | Users: Read, View All Images: Read, View All | Profile > Standard Object Permissions |
| Access Cases | Cases: Read, Create, Edit, Delete, View All, Modify All Images: Read, Create, Edit, Delete, View All Documents: Read, Create, Edit, Delete, View All | Profile > Standard Object Permissions |
| Access Incidents | Incidents: Read, Create, Edit, Delete, View All, Modify All | Profile > Standard Object Permissions |
| Access Comments | Cases: Read, Create, Edit, Delete, View All, Modify All Incidents: Read, Create, Edit, Delete, View All, Modify All Edit Case Comments | Profile > Standard Object Permissions and General User Permissions |
Connecting Salesforce Knowledge as a Source
Before connecting Salesforce Knowledge to Guru, a Salesforce administrator needs to create a Connected App:
- In Salesforce, go to Setup ā Apps ā App Manager.
- Click New Connected App.
- Fill in the basic information:
- Connected App Name
- API Name
- Contact Email
- In the API (Enable OAuth Settings) section, configure the following:
- Check Enable OAuth Settings.
- Set Callback URL to:
https://oauth2.integrations.getguru.com/callback - Add OAuth Scopes:
- Manage user data via APIs (api)
- Perform requests on your behalf at any time (refresh_token, offline_access)
- Check Enable Authorization Code and Credentials Flow.
- Check Require Secret for Web Server Flow.
- Check Require Secret for Refresh Token Flow.
- Click Save.
- After saving, go to External Client App Manager ā Your connected app ā Settings to retrieve your Consumer Key (Client ID) and Consumer Secret (Client Secret).
Once the Connected App is created, connect Salesforce Knowledge to Guru:
- In Guru, go to Manage.
- Select Sources, then click Add Source.
- Choose Salesforce from the list of integrations.
- Click Authorize Access.
- Optionally, rename the Source to something meaningful for your team (like "SF Knowledge Base").
- Enter your Consumer Key (Client ID) and Consumer Secret (Client Secret) from the Connected App.
- Follow the prompts to authenticate and authorize Guru to access your Salesforce Knowledge content.
Filtering your Salesforce Knowledge content
You can control which Salesforce Knowledge articles sync to Guru by configuring filters during setup:
- Publication Status: By default, only "Online" articles sync. You can include "Draft" and "Archived" articles if needed.
- Language: Filter articles by language.
- Article Type: Choose specific Record Types to sync.
- Data Categories: Select specific Salesforce data categories to narrow what syncs.
- Date Range: Choose from last 7, 30, 90, 180 days, 1 year, or all time.
After configuring your filters, assign which Guru Groups should have access to this content.
Permissions
- When you connect Salesforce CRM, Salesforce Knowledge, or Salesforce Service Cloud as a source in Guru, you'll permission that content in Guru. Learn more about permissioning knowledge in Guru.
- If someone is not provided with access in Guru to this source, they will not see Salesforce results in searches or when chatting with Guru.
Frequently asked questions
How do I connect my Salesforce sandbox (not production) to Guru as a source?
When connecting a Salesforce sandbox to Guru, you'll need to modify the redirect URL. By default, Guru shows the production link with your custom domain (e.g., yourcompany--dev). To connect your sandbox instead, add .sandbox to your custom domain.
For example:
Default (production): yourcompany--dev
Sandbox version: yourcompany--dev.sandbox
Enter the sandbox version (yourcompany--dev.sandbox) when setting up the source connection, and you'll be able to successfully create the source with your sandbox environment.
Can I sync Custom Objects into Guru?
Yes, you can sync customer objects by connecting a separate source for Salesforce SOQL. If you'd like to explore this, contact Guru support by emailing [email protected] and we'll provide you with support!
Can I sync Custom Fields into Guru?
Yes, Guru can sync custom fields from the Account and Opportunity objects.
What about Lookup or Master-Detail fields?
If the field is a Lookup or Master-Detail type (meaning it references another object and appears as a clickable blue link in Salesforce), Guru will display the 18-digit Salesforce record ID instead of the related record's name. This is expected behavior, as Guru is pulling the stored value directly from Salesforce.
What should I do if I see "error authenticating. please close window and try again"?
This error appears when the connected app Guru uses is blocked in your Salesforce instance. A Salesforce admin needs to unblock it before you can finish connecting.
- Open Connected Apps settings. Go to
https://{your-subdomain}.my.salesforce-setup.com/lightning/setup/ConnectedAppsUsage/home, replacing{your-subdomain}with the subdomain you entered when connecting the Source. - Unblock the app. Find the connected app used for the Guru connection. If it's blocked, click Unblock in the Actions column.
- Try connecting again. Return to Guru and reconnect your Salesforce Source.
Updated 7 days ago
