Salesforce settings webhooks are emitted by the Accounts API when Salesforce settings are updated (PUT /salesforce-settings).
Events
| Action | Event name |
|---|---|
| update Salesforce settings (PUT /salesforce-settings) | salesforcesettings.updated |
Payload example (salesforcesettings.updated)
The API emits the event with { providerId, apiKey, data: account.salesforce } (the data field is the account's Salesforce preferences object). The webhook envelope may expose these as data.providerId, data.apiKey, and data (or data.data) containing the Salesforce settings.
{
"attemptId": "20ebdb3d-85e1-47a4-a81d-7b6c7dd1a481",
"created": 1634755434,
"data": {
"enabled": true,
"smsEnabled": false,
"mcInstanceId": "mc-a1b2c3d4e5f6g7h8i9j0k1l2m3",
"messageId": "MTExOjExOjE",
"clientId": "a1b2c3d4e5f6g7h8i9j0k1l2",
"clientSecret": "aBcDeFgHiJkLmNoPqRsTuVwX",
"messageKeyword": "COMPANYNAME",
"override": false,
"messageBody": "",
"downloadUrl": "",
"allowLongTexts": false,
"maxRetries": 5,
"requirePhoneNumberConfirmation": false,
"prefixPhoneNumber": "",
"optInByDefault": false
},
"event": "salesforcesettings.updated",
"id": "2e32d603-a379-46f9-9393-ba4d1859e2fe",
"livemode": true
}
Payload fields (salesforcesettings.updated)
| Field | Type | Description |
|---|---|---|
| id | string | Webhook event id |
| attemptId | string | Delivery attempt id |
| created | number | Unix timestamp when the event was created |
| event | string | salesforcesettings.updated |
| livemode | boolean | Whether the account is in live mode |
| data | object | Salesforce preferences object (or envelope with providerId, apiKey, data) |
| data.enabled | boolean | Enable Salesforce SMS integration |
| data.smsEnabled | boolean | Whether Salesforce is used to send SMS notifications |
| data.mcInstanceId | string | Salesforce tenant subdomain (instance id) |
| data.messageId | string | Message ID enabled in Salesforce |
| data.clientId | string | Client id for the Salesforce endpoint |
| data.clientSecret | string | Client secret for the Salesforce endpoint |
| data.messageKeyword | string | Message keyword for tagging the message |
| data.override | boolean | When enabled, payload message is delivered instead of preconfigured message |
| data.messageBody | string | Message sent with the ticket download URL |
| data.downloadUrl | string | URL for downloading the ticket (placeholders: {{itemId}}, {{phone}}) |
| data.allowLongTexts | boolean | When enabled, allows splitting messages over 160 chars into multiple SMS |
| data.maxRetries | number | Maximum retries on send failure |
| data.requirePhoneNumberConfirmation | boolean | Users must verify recipient phone before sending SMS |
| data.prefixPhoneNumber | string | Default area code to pre-fill phone number |
| data.optInByDefault | boolean | Opt-in checkbox selected by default on checkout |