Package Library
Installable package Verified

Activity Sync

Sync call, chat, email, or sms interactions from any source to your CRM as activity records, and enrich with any data you want.

@quickflo/activity-syncby @quickflov1.0.0
See how Activity Sync works

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

  1. Install the package in your organization.
  2. Set up a CRM connection. Currently supported - Salesforce connection.
  3. 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.

What’s inside

One install, the complete system.

Workflows

3 included

  • Activity Sync
  • Activity Sync Enrich Fields
  • Salesforce Utils.check Task Fields

Triggers

1 included

  • Activity Sync

Dashboards

1 included

  • Activity Sync

Data stores

1 included

  • Activity Sync History

Configure during install

Set up what it needs. QuickFlo handles the wiring.

You’ll connect or provide these requirements during guided setup, before anything changes.

1 environment valueProvide the values this package needs to run.

Extension points

Designed for your team to make their own.

This package includes clearly defined areas your team can customize without forking or rebuilding the rest of the solution.

Enrich Task Fields

Customize when needed

Customer extension point. Return any additional or override fields from this sub-workflow's Return step to include them in the Salesforce Task create/update. Returned keys are merged with the base fields (right-hand wins, so returned values override) and then filtered against Salesforce Task's valid fields, so invalid keys are dropped automatically.