Before you start
JB Email Send Log reads email sends from Marketing Cloud Engagement and shows them on a record page in Sales Cloud or Service Cloud. It stores no email data in your org. To connect the two, you configure Named Credentials in Salesforce Setup that point at your Marketing Cloud tenant.
Make sure you have the following before you begin.
- A Salesforce administrator. The person doing the setup needs system administrator rights in the Sales Cloud or Service Cloud org.
- A Marketing Cloud Engagement installed package with an API integration component. You create this in Marketing Cloud Setup under Installed Packages.
- The client ID and client secret of that API integration. You enter both in Salesforce in step 2.
- Your Marketing Cloud subdomain. This is the
mc-xxxxxxpart of the tenant-specific endpoints shown on the installed package. You need it for the authentication URL in step 3 and the content URL in step 4.
Plan for eight steps. Steps 1 to 4 set up the connection, 5 and 6 give users access, 7 and 8 configure what users see.
Install the package
JB Email Send Log is not listed on AppExchange. It is installed per org with a documented custom install process, and we help you configure it. The steps below are the same for every org. The package namespace is JourneyBuilders.
Once the package shows under Setup > Installed Packages, continue with the configuration below.
Configure the connection to Marketing Cloud
Salesforce splits an outbound connection into two parts. An External Credential holds the authentication protocol and the secrets. A Named Credential holds the endpoint URL and points at the External Credential. JB Email Send Log needs one External Credential and two Named Credentials. This guide uses the API name ESL_EXTERNAL_CREDENTIAL for the External Credential throughout.
1. Create the External Credential
- In Salesforce Setup, search for and open Named Credentials.
- Open the External Credentials tab.
- Click New.
- Enter these values:
- Label:
ESL EXTERNAL CREDENTIAL - Name:
ESL_EXTERNAL_CREDENTIAL - Authentication Protocol: Custom
- Label:
- Click Save.
2. Add the Principal with the client ID and secret
A Principal is the named set of stored values that the External Credential uses to authenticate.
- On the
ESL_EXTERNAL_CREDENTIALpage, scroll to Principals. - Click New.
- Set Name to
ESL_PRINCIPAL. - Next to Authentication Parameters, click Add twice.
- Add a parameter named
client_idwith the client ID from your Marketing Cloud installed package. - Add a parameter named
client_secretwith the client secret. - Click Save and wait for the dialog to close.
3. Create the Named Credential for authentication
This Named Credential points at the Marketing Cloud token endpoint and allows the custom request body that the token request needs.
- In Salesforce Setup, open Named Credentials.
- On the Named Credentials tab, click New.
- Enter these values:
- Label:
ESL MC AUTH API - Name:
ESL_MC_AUTH_API - URL: your Marketing Cloud authentication URL, in the form
https://mc-xxxxxx.auth.marketingcloudapis.com/v2/token - Enable for Callouts: checked
- External Credential:
ESL_EXTERNAL_CREDENTIAL
- Label:
- Under Callout Options:
- Deselect Generate Authorization Header
- Select Allow Formulas in HTTP Header
- Select Allow Formulas in HTTP Body
- Under Managed Package Access, set Allowed Namespaces for Callouts to
JourneyBuilders. - Click Save.
4. Create the Named Credential for content
This Named Credential points at the Marketing Cloud content endpoint that the component calls to read email sends and content.
- Return to the Named Credentials tab and click New.
- Enter these values:
- Label:
ESL MC CONTENT API - Name:
ESL_MC_CONTENT_API - URL: your Marketing Cloud content API URL, in the form
https://mc-xxxxxx.pub.sfmc-content.com/j1d2tc3napz - Enable for Callouts: checked
- External Credential:
ESL_EXTERNAL_CREDENTIAL
- Label:
- Under Callout Options, make sure all three options are deselected:
- Generate Authorization Header
- Allow Formulas in HTTP Header
- Allow Formulas in HTTP Body
- Under Managed Package Access, set Allowed Namespaces for Callouts to
JourneyBuilders. - Click Save.
Give users access
Users need two permission sets. One lets them use the credentials you just created. The other comes with the package and gives access to the component, fields and settings.
5. Create a permission set for the External Credential
- In Salesforce Setup, open Permission Sets.
- Click New and name it
External Credential Access. Click Save. - Under Apps, click External Credential Principal Access.
- Click Edit, move
ESL_PRINCIPALfrom Available to Enabled and click Save. - Click the arrow next to External Credential Principal Access and choose Object Settings.
- Open User External Credentials (
userExternalCredential). - Click Edit, select Read and click Save.
6. Assign the permission sets
Every user who should see the component needs both of the following.
- In Permission Sets, open Email Send Log (installed by the package).
- Click Manage Assignments and add the users.
- Repeat for the
External Credential Accesspermission set you created in step 5.
Users who will configure the component need one more. The Email Send Log Admin permission set was added in release 1.49. It gives access to the Email Send Log Settings tab, where you set the title, columns and labels. Assign it only to the people responsible for the configuration, using the same Manage Assignments steps.
Configure the component
7. Set the title, columns and labels
This step needs the Email Send Log Admin permission set.
- Open the App Launcher and search for Email Send Log Settings.
- Under General Settings, change the Component Title if you want users to see something other than the default, for example “Sent Emails”.
- Under the field lists, use the arrows to move fields between Available and Visible. Reorder the Visible list to put the most useful columns first. Since release 1.49 the columns Email Name, From Name and Open Date are available.
- Under Customize Display Labels, rename column headers to match your own terminology or language, for example “Subject” to “Email Topic”.
- Click Save Settings. The change applies to the component immediately.
8. Add the component to a record page
Since release 1.45 the component works on any record page. The example below uses the Contact page.
- Open an existing Contact record.
- Click the Setup gear in the top right and choose Edit Page. This opens the Lightning App Builder.
- In the left sidebar under Custom Components, find JB Email Send Log.
- Drag it onto the page, for example into a new tab or the main details area.
- Click the component to open its properties on the right and review two settings:
- Automatically load data (
loadOnRecordLoad). Leave it checked, the default, to load the email history when the record opens. Uncheck it if you prefer users to load the list with a button. - Subscriber ID Field API Name. By default the component sends the record ID to Marketing Cloud as the subscriber ID. If Marketing Cloud identifies the subscriber by a different value, enter the API name of the field that holds it. On an Account page with Person Accounts, enter
PersonContactIdto use the underlying Contact. For a custom key, enter the field’s API name, for exampleExternal_ID__c. The API name is case-sensitive.
- Automatically load data (
- Click Save. If the App Builder asks you to activate the page, set it as the org default. Or assign it to the right app and profile combination.
- Leave the App Builder and refresh the Contact record. The component should show and load the email history.

Considerations for admins
- Matching subscribers. The component finds emails by the subscriber ID it sends to Marketing Cloud. That is the record ID unless you set the Subscriber ID Field API Name in step 8. Pick the field whose value matches the subscriber ID in Marketing Cloud.
- Rotating the client secret. If you rotate the secret on the Marketing Cloud installed package, update the
client_secretparameter onESL_PRINCIPAL. - No data in your org. The component reads email sends and content from Marketing Cloud when a user opens the record. Nothing is copied into Sales Cloud or Service Cloud, so there is no storage to plan for and no data to clean up.
- Access is per permission set. A user needs both the Email Send Log and External Credential Access permission sets. Without them the component shows no email history, even when it is on the page.
If something does not work, see the frequently asked questions or request information and we will help.
Uninstall
Uninstalling removes the package and its settings and cannot be undone. Because the app stores no email data in your org, no send-log data is lost.
- Remove the JB Email Send Log component from every record page in the Lightning App Builder and save each page.
- In Permission Sets, remove the assignments for Email Send Log, Email Send Log Admin and
External Credential Access. Then delete theExternal Credential Accesspermission set. - In Named Credentials, delete
ESL_MC_AUTH_APIandESL_MC_CONTENT_API. - On the External Credentials tab, delete
ESL_EXTERNAL_CREDENTIAL. - In Setup > Installed Packages, click Uninstall next to the JB Email Send Log package and follow the prompts.
- In Marketing Cloud Setup, delete or disable the API integration in the installed package you created for JB Email Send Log.
Stuck on a step? Check the FAQ or ask us directly.