Package overview
Overview
Logs call activity to your CRM of choice as Task records. Idempotent on session_id: creates a Task on the first call, updates the same Task on subsequent calls. Every attempt is persisted to the task_logger_history data store, success or failure.
Quick Start
- Install the package in your organization.
- Set up a CRM connection. Currently supported - Salesforce connection.
- POST to the HTTP trigger that ships with the package from wherever you want to log activity.
The workflow finds the Salesforce Task where session_id_field equals session_id, then creates or updates it with the fields you provide.
{
"session_id": "abcd-efgh-aaaa-bbbb-cccc",
"field": {
"Notes__c": "Call notes",
"RecordingLink__c": "https://example.com/recording",
"Subject": "Optional: overrides the computed Subject"
}
}
Request
| Field | Required | Default | Notes |
|---|---|---|---|
session_id |
yes | Unique key for this call. Used to match an existing Task and as the audit row key. | |
session_id_field |
no | Five9__Five9SessionId__c |
Salesforce Task field used to match session_id. Override for non-Five9 systems. |
field |
yes | Field map merged into the Task. Keys not present on the Salesforce Task schema are dropped automatically. | |
field.Subject |
no | computed timestamp on create, existing value on update | Provide to override on either branch. |
Response
Success:
{
"action": "update",
"status": "success",
"session_id": "abcd-efgh-aaaa-bbbb-cccc",
"recordId": "00T...",
"error": null
}
Failure:
{
"action": "create",
"status": "error",
"session_id": "abcd-efgh-aaaa-bbbb-cccc",
"recordId": "",
"error": {
"code": "OPERATION_FAILED",
"message": "duplicate value found on Five9__Five9SessionId__c",
"details": [ "raw Salesforce error array" ]
}
}
The trigger always returns HTTP 200. Check status to handle failures. Every attempt is persisted to task_logger_history regardless of outcome.
Customization
The workflow exposes an Enrich Task Fields sub-workflow extension point. Drop in your own logic to inject or override Task fields before write. Your returned object is merged on top of the request fields, then filtered against the Salesforce Task schema.
Supported CRM Platforms
Currently Salesforce is supported. If you would like to see your CRM added, please reach out to us.