Named & External Credentials
SALESFORCE ADMIN
Relationship Intelligence uses a Salesforce Named Credential as the callout boundary to EIE. The Real Bots managed package generates its own RS256 signed assertion. The External Credential does not store a username, password, OAuth token, API key, or shared secret.
The setup requires all of the following:
- Named Credential
- External Credential
- Named Principal
- Permission-set principal access
- Permission-set assignment to the running user
Complete the steps below in order.
1. Create or confirm the External Credential
Salesforce Setup → Named Credentials → External Credentials
| Setting | Value |
|---|---|
| Label | EIE Relationship Intelligence Auth |
| Name | EIE_Relationship_Intelligence_Auth |
| Authentication Protocol | Custom |
Authentication is performed by the RS256 assertion generated by the Real Bots package. Do not configure OAuth, Basic Authentication, a username, password, API token, or client secret.
The External Credential is incomplete until its Named Principal has been created. Merely creating the External Credential is not sufficient.
2. Create the Named Principal
- Open EIE Relationship Intelligence Auth.
- Scroll to the Principals section.
- Click New.
- Enter the values below.
- Save.
| Field | Value |
|---|---|
| Parameter Name | EIE_RI_Principal |
| Identity Type | Named Principal |
| Sequence Number | 1 |
Expected result — the Principals section displays:
Sequence Number: 1
Parameter Name: EIE_RI_Principal
Authentication Status: Unknown
For this Custom External Credential, an Authentication Status of Unknown does not necessarily indicate a failure. Relationship Intelligence does not store a Salesforce username, password, OAuth token, or shared secret in this principal. Authentication is supplied by the package-generated signed assertion.
Do not create a Per User principal. Relationship Intelligence requires the documented Named Principal.
3. Create or confirm the Named Credential
Salesforce Setup → Named Credentials → Named Credentials
| Setting | Value |
|---|---|
| Label | EIE Relationship Intelligence |
| Name | EIE_Relationship_Intelligence |
| URL | https://eie-api.realintelligence.com |
| Enabled for Callouts | On |
| External Credential | EIE Relationship Intelligence Auth |
| Generate Authorization Header | Off |
| Client Certificate | None |
| Allowed Namespace for Callouts | ribot |
- Keep Generate Authorization Header off because the Real Bots package supplies the signed authorization assertion.
- Do not attach the Salesforce signing certificate as a Named Credential client certificate.
- The Salesforce signing certificate is used by Apex to sign the outbound assertion.
- The
ribotnamespace must be allowed because the Relationship Intelligence callout originates from the Real Bots managed package.
The Named Credential name must be exactly EIE_Relationship_Intelligence and the External Credential name must be exactly EIE_Relationship_Intelligence_Auth. Do not confuse labels, API names, the principal name, the Salesforce certificate name, or the EIE Certificate KID.
4. Grant External Credential Principal Access
Salesforce Setup → Permission Sets → Relationship Intelligence
- Open External Credential Principal Access.
- Click Edit.
- Under Available External Credential Principals, select:
EIE Relationship Intelligence Auth - EIE_RI_Principal
- Move it to Enabled External Credential Principals.
- Click Save.
System Administrator does not bypass principal access. Even a Salesforce System Administrator must receive explicit External Credential Principal Access. Profile-level administrative rights do not automatically authorize a user to invoke a Named Credential through its External Credential principal.
If EIE Relationship Intelligence Auth - EIE_RI_Principal does not appear in the Available list, return to the External Credential and confirm that the Named Principal was created. An External Credential without a principal cannot be granted through a permission set.
5. Assign the Relationship Intelligence permission set
From the Relationship Intelligence permission set:
- Click Manage Assignments.
- Click Add Assignments.
- Select every administrator or integration user who will run Relationship Intelligence setup, verification, or discovery actions.
- Complete the assignment.
- Confirm the user appears under Current Assignments.
The user running Verify Google Connection must have this permission set assigned. Creating or editing the permission set does not automatically assign it to the current administrator.
Required permissions for verification
| Permission area | Required access |
|---|---|
| Relationship Intelligence Configuration | Read and Edit |
| Signing Certificate KID | Field visibility and Edit |
RIInboundAuth | Apex Class Access |
RelationshipIntelligenceService | Apex Class Access |
EIE_RI_Principal | External Credential Principal Access |
| Relationship Intelligence permission set | Assigned to the running user |
| Named Credential | Enabled for callouts |
| Managed-package namespace | ribot allowed |
Pre-verification checklist
Before selecting Verify Google Connection, confirm:
- The Salesforce signing certificate exists.
- The public certificate is registered in the correct EIE tenant.
- The EIE Certificate KID is populated in Salesforce.
- The External Credential exists.
- The
EIE_RI_PrincipalNamed Principal exists. - The Named Credential references the correct External Credential.
- The Named Credential is enabled for callouts.
- The
ribotnamespace is allowed. - Principal access is enabled in the Relationship Intelligence permission set.
- The permission set is assigned to the current user.
Common mistakes
| Mistake | Result |
|---|---|
| Base URL points somewhere other than the public API boundary | HTML response, Unexpected character '<' |
| Named Principal never created | The principal cannot be selected in the permission set |
| Principal access not granted | Callout fails for the running user |
| Permission set not assigned | Verification fails for that user only |
| Namespace not allowed | Callout blocked for the ribot package |
| A client certificate is attached | Unnecessary and can break the request |
Continue to Verify Google Connection, or review Permissions and Troubleshooting.
Was this helpful?
Last updated 1 month ago