salesloft-webhooks-events
Verify and process Salesloft webhooks using exact raw-body SHA-1 HMAC, callback-token validation, event routing, durable deduplication, and reconciliation. Use when building or auditing a webhook receiver. Trigger with "Salesloft webhook", "Salesloft signature", or "Salesloft event handler".
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 Verified Webhook Processing
Overview
This skill accepts a delivery only after authenticating its exact bytes and subscription secret. It makes side effects idempotent even though the general delivery contract does not expose a timestamp replay header.
Prerequisites
- Approved HTTPS callback URL and event type
- Webhook subscription with a high-entropy callback token
- Raw-body access before JSON parsing
- Durable deduplication store and reconciliation owner
Tool Discipline
Use Read, Glob, and Grep to inspect body parsing, signature comparison, queues, and side effects. Use WebFetch only for current official Salesloft webhook documentation. Use Write or Edit after the handler boundary is confirmed.
Current Contract
x-salesloft-eventidentifies the delivered event type.x-salesloft-signatureis the hexadecimal SHA-1 HMAC of the exact response/request body usingcallback_tokenas the key.- The callback token is also included in each event payload and should be validated.
- Failed deliveries are retried three additional times, 15 seconds apart.
- Subscription scopes vary by event type and must be checked in the current event table.
Authentication
Protect the callback token as a secret. Compute the expected HMAC from the exact raw body, decode hex safely, require equal lengths, and use constant-time comparison before parsing or queuing.
Instructions
- Capture raw bytes and required headers before any middleware transforms the body.
- Reject missing, malformed, unequal-length, or non-matching signatures.
- Parse JSON only after signature success and validate the callback token and expected event type.
- Derive a stable deduplication key from event type plus canonical business identifiers and payload digest.
- Persist receipt and dedup state before acknowledging or dispatching side effects.
- Process asynchronously with bounded retries and reconcile missed changes through API reads.
- Test tampering, malformed hex, duplicate delivery, retry, queue failure, and rotated token behavior.
Approval Boundaries
Do not create or change a subscription, callback URL, event scope, or production token without owner approval. Reject unverifiable events rather than accepting them for debugging convenience.
Output
Return event type, signature and callback-token verdicts, dedup key, queue receipt, processing result, retry state, and reconciliation status without payload data.
Error Handling
| Condition | Response |
|---|---|
| Signature mismatch | Reject before parsing and record redacted metadata. |
| Duplicate delivery | Return prior outcome without repeating side effects. |
| Handler failure | Preserve receipt and use bounded internal retry. |
| Missed event suspected | Reconcile through the relevant read endpoint or cursor poller. |
Examples
The example below shows the minimum redacted evidence expected from a successful invocation of this operator workflow.
event=person_updated; signature=pass; callback-token=pass; duplicate=no; queued=yes