Getting Started
How to get credentials and set up your integration with the LiSTNR Preferences Webhook.
Overview
The Preferences Webhook receives user preference updates from the Salesforce Preference Centre and persists them to Firestore. Every request must carry a short-lived LiSTNR JWT issued by the LiSTNR Token Provider.
Calls are authenticated server-to-server using the Client Credentials (Basic Auth) flow — there is no end-user browser session involved.
Pre-requisites
Before you can call the webhook you need:
- A
client_idandclient_secretprovisioned by the LiSTNR platform team for thesalesforce-preference-centreclient - Access to the LiSTNR Token Provider to exchange your credentials for a JWT
Contact the LiSTNR platform team to be onboarded. Provide:
| Item | Description |
|---|---|
| Integration name | salesforce-preference-centre (already registered) |
| Auth method | Client Credentials (Basic Auth) |
| Required scope | write:preferences |
The platform team will supply your client_secret for the relevant environment.
Obtaining a token
Use the Client Credentials flow to request a JWT before each batch of webhook calls.
POST /v1/issue-token
Authorization: Basic <base64(salesforce-preference-centre:your-secret)>
Content-Type: application/json
{
"client_id": "salesforce-preference-centre",
"scope": "write:preferences"
}
The response contains an access_token valid for 15 minutes. Store it in memory and re-request approximately 2 minutes before it expires — there is no refresh mechanism.
{
"access_token": "<signed-jwt>",
"token_type": "Bearer",
"expires_in": 900
}
See Issuing a Token for the full request reference and error responses.
Next steps
Once you have a token, see Sending Preferences for the full webhook request reference.