Salesforce Knowledge Microsoft Graph connector
The Salesforce Knowledge Microsoft Graph connector allows your organization to index articles from Salesforce Knowledge. After you configure the connector, end users can search for Knowledge articles from Salesforce in Microsoft Copilot and from any Microsoft Search client.
This documentation is for Microsoft 365 administrators or anyone who configures, runs, and monitors a Salesforce Knowledge Microsoft Graph connector.
Capabilities
- Index Salesforce Knowledge articles.
- Enable users within the company to ask questions in natural language using Copilot and receive answers based on articles in Salesforce. Examples:
- What are the steps for processing a refund?
- What is the escalation procedure for high-priority cases?
- What are the latest updates to our product warranty policy?
- Use Semantic search in Copilot to enable users to find relevant content based on keywords, personal preferences, and social connections.
Limitations
- The Salesforce Knowledge connector currently supports permissions based only on knowledge entity access. It does not support data category-based permissions, field-level security (FLS), or sharing rules.
Prerequisites
Note
Make sure that the Salesforce account used to log in for the Salesforce Knowledge Microsoft Graph connector is the same as the account already logged into Salesforce.
To connect to your Salesforce instance, you need your Salesforce instance URL, the client ID, and the client secret for OAuth 2.0 authentication. The following steps explain how you or your Salesforce administrator can get this information from your Salesforce account:
Log in to your Salesforce instance and go to Setup.
Navigate to Apps -> App Manager.
Select New connected app.
Complete the API section as follows:
- Select the checkbox for Enable Oauth settings.
- Specify the Callback URL as: For M365 Enterprise:
https://gcs.office.com/v1.0/admin/oauth/callback
, for M365 Government:https://gcsgcc.office.com/v1.0/admin/oauth/callback
- Select these required OAuth scopes.
- Access and manage your data (API).
- Perform requests on your behalf at any time (refresh_token, offline_access).
- Select the checkbox for Require secret for web server flow.
- Save the app.
Copy the consumer key and the consumer secret. This information is used as the client ID and the client secret when you configure the connection settings for your Salesforce Knowledge Microsoft Graph connector in the Microsoft 365 admin portal.
Before closing your Salesforce instance, follow these steps to ensure that refresh tokens don't expire:
- Go to Apps -> App Manager.
- Find the app you created and select the drop-down on the right. Select Manage.
- Select edit policies.
- For the refresh token policy, select Refresh token is valid until revoked.
You can now use the Microsoft 365 Admin Center to complete the rest of the setup process for your Salesforce Knowledge Microsoft Graph connector.
Get Started
1. Display name
A display name is used to identify each citation in Copilot, helping users easily recognize the associated file or item. Display name also signifies trusted content. Display name is also used as a content source filter. A default value is present for this field, but you can customize it to a name that users in your organization recognize.
2. Salesforce Knowledge URL
Use your organization’s Salesforce Knowledge Instance URL. This URL is the specific web address used to access and interact with Salesforce Knowledge's API services for data retrieval, which typically looks like https://[COMPANY_NAME].my.salesforce.com
3. Authentication Type
For Salesforce Knowledge Microsoft Graph connector, use OAuth 2.0 for authentication.
To authenticate, enter the Client ID and Client Secret. The Client ID is a unique identifier assigned to your application for making requests to the Salesforce Knowledge API. The Client Secret is a confidential key used alongside the Client ID to securely authenticate your application with the Salesforce Knowledge API.
The first time you've attempted to sign in with these settings, you'll get a pop-up asking you to log in to Salesforce with your admin username and password.
Note
- If the pop-up doesn't appear, it might be getting blocked in your browser, so you must allow pop-ups and redirects.
- Ensure that the Salesforce account being used to log in for the Graph connector is the same as the user already logged into Salesforce.
- Ensure the user logging in has all the necessary object permissions for the organization.
4. Roll out to limited audience
Deploy this connection to a limited user base if you want to validate it in Copilot and other Search surfaces before expanding the rollout to a broader audience. To know more about limited rollout, see staged rollout.
At this point, you're ready to create the connection for Salesforce Knowledge. You can click on the "Create" button to publish your connection and index posts from your Salesforce Knowledge account.
Custom Setup
Custom setup is for admins who want to edit the default values for settings. Once you click on the 'Custom Setup' option, you see three other tabs: Users, Content, and Sync.
Users
Access Permissions
The Salesforce Knowledge connector supports search permissions visible to Everyone or Only people with access to this data source. If you choose Everyone, indexed data will appear in the search results for all users. If you choose Only people with access to this data source, indexed data will appear in the search results for users who have access to them. Choose the one that is most appropriate for your organization.
Mapping Identities
You can choose to ingest Access Control Lists (ACLs) from your Salesforce instance or allow everyone in your organization to see search results from this data source. ACLs can include Microsoft Entra identities (users who are federated from Microsoft Entra ID to Salesforce), non-Azure AD identities (native Salesforce users who have corresponding identities in Microsoft Entra ID), or both.
Note
If you use a third-party Identity Provider like Ping ID or secureAuth, you should select "non-Microsoft Entra" as the identity type.
If you chose to ingest an ACL from your Salesforce instance and selected "non-ME ID" for the identity type, see Map your non-Microsoft Entra Identities for instructions on mapping the identities.
If you chose to ingest an ACL from your Salesforce instance and selected "ME-ID" for the identity type, see Map your Microsoft Entra Identities for instructions on mapping the identities. To learn how to set up Microsoft Entra SSO for Salesforce, see this tutorial.
Note
Updates to groups governing access permissions are synced in full crawls only. Incremental crawls don't support processing of updates to permissions.
In the following video, you will learn how to authenticate to your Salesforce instance, sync your non-Microsoft Entra identities with your Microsoft Entra identities, and apply the appropriate security settings to your Salesforce items. While this guide is specifically for the Salesforce CRM connector, the same steps can be applied to the Salesforce Knowledge connector.
Content
Manage properties
Here, you can add or remove available properties from your Salesforce Knowledge data source, assign a schema to the property (define whether a property is searchable, queryable, retrievable, or refinable), change the semantic label and add an alias to the property. Properties that are selected by default are listed below:
Source Property | Semantic Label | Description | Schema |
---|---|---|---|
ArticleId | Query, Retrieve | ||
ArticleNumber | The unique number automatically assigned to the article when it's created. | Query, Retrieve | |
ArticleType | The type or category of the knowledge article (for example, FAQ, Support Article, How-To). | Retrieve | |
CondensedBody | Includes the Full content or main body of the article | Retrieve, Search | |
CreatedById | Query, Retrieve, Search | ||
CreatedByName | createdBy | The user who initially created the article. | Query, Retrieve, Search |
CreatedDate | createdDateTime | Timestamp of when the article was initially created. | Query, Retrieve |
IconUrl | iconUrl | Retrieve | |
Language | The language in which the article is written. | Retrieve | |
LastModifiedById | Query, Retrieve, Search | ||
LastModifiedByName | lastModifiedBy | The user who last updated the article. | Query, Retrieve, Search |
LastModifiedDate | lastModifiedDateTime | Timestamp of the most recent update to the article. | Query, Retrieve |
LastPublishedDate | The date when the article was last published. | Query, Retrieve | |
LastPublishedVersionId | Query, Retrieve | ||
Summary | A brief overview or abstract of the article's content. | Search | |
Title | title | The main headline or title of the article. | Query, Retrieve, Search |
Url | url | Link to the article in Salesforce Knowledge. | Retrieve |
UrlName | A unique URL-friendly name generated for the article. | Query, Retrieve |
Sync
The refresh interval determines how often your data is synced between the data source and the Salesforce Knowledge Microsoft Graph connector index. There are two types of refresh intervals - full crawl and incremental crawl. For more information, see refresh settings.
Troubleshooting
After publishing your connection, you can review the status under the Data Sources tab in the admin center. To learn how to make updates and deletions, see Manage your connector.
If you have issues or want to provide feedback, contact Microsoft Graph | Support.