salesloft-core-workflow-b
Reconcile Salesloft cadence membership state and engagement counts with an incremental, restartable read workflow. Use when building sales outcome reporting or downstream CRM synchronization. Trigger with "Salesloft cadence analytics", "Salesloft membership sync", or "Salesloft engagement reconciliation".
Allowed Tools
Provided by Plugin
salesloft-pack
Production Salesloft operator workflows for authentication, cadences, synchronization, rate control, webhooks, security, deployment, and incident evidence
Installation
This skill is included in the salesloft-pack plugin:
/plugin install salesloft-pack@claude-code-plugins-plus
Click to copy
Instructions
Salesloft Cadence Outcome Reconciliation
Overview
This skill synchronizes cadence membership state and its documented engagement counts without relying on obsolete activity paths. It preserves mutable-record semantics and a restartable cursor.
Prerequisites
- A named team and destination dataset
cadences:readplus any endpoint-specific read scope- A durable microsecond-precision
updated_atcursor - A documented merge key and data-retention policy
Tool Discipline
Use Read, Glob, and Grep to inspect schemas, sync checkpoints, and consumers. Use WebFetch only for current Salesloft endpoint and polling documentation. Use Write or Edit after confirming the destination contract.
Current Contract
GET /v2/cadence_membershipssupportsupdated_atfilters,sort_by=updated_at, direction, page, andper_pageup to 100.- A membership is mutable and reused when a person later returns to the same cadence.
- Current state includes processing, staged, active, scheduled, pending, completed, removed, reassigned, and archived outcomes.
- Documented counts include views, clicks, replies, calls, sent emails, and bounces.
Authentication
Use the explicit team credential with the minimum read scopes. Never mix cursors or destination partitions between teams.
Instructions
- Define the destination key, accepted fields, retention window, and team partition.
- Start from a durable cursor with a deliberate overlap window for equal timestamps.
- Fetch memberships ordered by
updated_atascending with a bounded page size. - Upsert by stable membership ID and treat state and counts as replaceable snapshots.
- Advance the cursor only after the destination transaction succeeds.
- Deduplicate overlap records and compare source, processed, and committed counts.
- Reconcile periodic samples against Salesloft and alert on gaps or backward cursors.
Approval Boundaries
Keep this workflow read-only in Salesloft. Do not infer immutable cadence episodes, individual email events, or user performance conclusions from aggregate membership counts alone.
Output
Return team partition, cursor interval, pages and endpoint cost, source/upsert/deduplicated counts, reconciliation result, and next durable cursor.
Error Handling
| Condition | Response |
|---|---|
| Cursor moves backward | Stop and restore the last committed checkpoint. |
| Same timestamp repeats | Use overlap plus stable-ID deduplication; never skip blindly. |
| 429 | Preserve the page and cursor, then resume after bounded backoff. |
| Destination partial failure | Roll back or replay the page before advancing. |
Examples
The example below shows the minimum redacted evidence expected from a successful invocation of this operator workflow.
team=team-42; fetched=100; upserted=98; overlap=2; cursor=committed