Skip to main content
Every artifact the package depends on, what it does, and how to set it.

Configuration Checklist

Complete in this order. Each step is detailed below.
  1. Edit the Chert_Tenant.Default Custom Metadata record.
  2. Verify the Chert_Endpoint Named Credential.
  3. Assign the Chert Messaging User Permission Set.
  4. Activate the three Lightning Record Pages.
  5. Wire ChertSendIMessage into a Flow or button.

Custom Metadata — Chert_Tenant__mdt

The package ships one default record, Chert_Tenant.Default. It holds the per-Org credentials for talking to the Chert API.
FieldAPI namePurposeSource
Tenant SlugTenant_Slug__cIdentifies your Org to Chert. Sent on every request.Provided by Chert at provisioning.
Signing SecretSigning_Secret__cHMAC-SHA256 key for signing outbound payloads. Never leaves the Org except as a derived signature.Provided by Chert at provisioning.
Ingest TokenIngest_Token__cBearer token Chert uses on inbound reply callbacks.Generated by you, supplied to Chert.
Chert Base URLChert_Base_URL__cOverride only when Chert directs you to a non-default region.Default: https://console.trychert.com/api/salesforce/v1
To configure: From Setup, enter Custom Metadata Types, click Manage Records beside Chert Tenant, edit Default, and paste the values. Click Save. The record’s Protected Component flag should be true before any managed package promotion. Protected metadata cannot be read by Apex in subscriber Orgs that did not install the package, and cannot be exported through the Metadata API by non-System Administrators.

Named Credential — Chert_Endpoint

PropertyValue
LabelChert Endpoint
NameChert_Endpoint
URLhttps://console.trychert.com/api/salesforce/v1
Identity TypeAnonymous
Authentication ProtocolNo Authentication
Generate Authorization HeaderDisabled
The Chert Endpoint Named Credential detail page in Salesforce Setup
Authentication is handled in Apex by signing the request body with the Signing_Secret__c from Custom Metadata. The Named Credential exists to keep the endpoint URL out of code and to satisfy the platform requirement that Apex callouts use a registered endpoint. If your Org connects to a regional Chert deployment, update the Named Credential URL — do not edit Apex.

Permission Set — Chert Messaging User

Assigned to every user who will send iMessages or view conversations. Salesforce best practice is Permission Set assignment, not Profile modification; the package contains no Profiles.
GrantScope
Object — Chert_Message__cRead, Create — no Edit, no Delete, no View All, no Modify All. Records are append-only by design.
Object — Lead, Contact, AccountRead, Edit — required for the Lightning component to update phone fields after enrichment.
Field-level securityRead on every standard field referenced by the conversation pane; Edit on MobilePhone and the Chert-prefixed enrichment fields.
Apex class accessChertSendIMessage, ChertBridge, ChertContactsRest, ChertEnrichService, ChertEnrichResultRest, ChertEnrichmentRunNowRest, ChertInboundRest, ChertTenantConfig.
Named Credential accessChert_Endpoint.
User permissionsNone beyond the platform default. The package does not grant View All Data, Modify All Data, or any custom user permission.
To assign: From Setup, enter Permission Sets, click Chert Messaging User, click Manage Assignments, click Add Assignments, select users, click Assign. For larger rollouts, group Chert Messaging User into a Permission Set Group alongside any role-specific Permission Sets.

Lightning Record Pages

The package ships three Flexipages, each with the chertConversation component pre-placed.
PageObjectActivation
Lead_Record_Page_ChertLeadOrg default, App default, or per record-type/profile
Contact_Record_Page_ChertContactOrg default, App default, or per record-type/profile
Account_Record_Page_ChertAccountOrg default, App default, or per record-type/profile
To activate: From Setup, enter Lightning App Builder. For each page, click Activation, choose the activation scope, and click Save. Activation is per-Org — a sandbox-active page does not auto-activate in production.

Quick Actions

Quick ActionObjectLWCPurpose
Start_Chert_SequenceContactchertSequenceLauncherEnroll one or more Contacts into a Chert outbound sequence.
Enrich_Phone_NumbersContactchertBulkEnrichBulk-enrich missing mobile numbers via Chert.
Add either Quick Action to a Lightning Record Page or List View by editing the relevant Page Layout or List View Button Layout.

Wiring ChertSendIMessage into a Flow

The invocable action accepts these inputs:
InputTypeRequiredPurpose
phoneTextYesE.164 phone number (+14155551234).
messageTextYesBody of the iMessage.
recordIdTextRecommendedThe Salesforce ID the send relates to. Surfaces in Chert reporting and on the related Chert_Message__c.
idempotencyKeyTextRecommendedDeterministic key. Re-invoking with the same key within the dedup window is a no-op.
Outputs:
OutputTypePurpose
messageIdTextThe Chert-side message ID. Persist on the parent record for traceability.
duplicateBooleantrue if the send was deduplicated. Treat as success.
To use from Flow Builder, drop an Action element, search for Chert Send iMessage, and bind the Lead’s MobilePhone and a text template to phone and message. Use the Lead Id as recordId.

See Also

  • INSTALL for the prerequisite step.
  • SECURITY for the trust boundary and HMAC format.
  • ARCHITECTURE for what runs synchronously versus asynchronously.