Before syncing Stripe customer data into a CRM
When a Stripe webhook fires or your pipeline pulls customer data, call Anchord to resolve the customer identity before writing to your CRM. Anchord matches the Stripe customer to a canonical identity, guards the write, and prevents creating a duplicate company or contact in HubSpot, Salesforce, or any other target system.
When to use this
- A Stripe webhook fires (customer.created, customer.updated, subscription.*) and you want to sync data to your CRM
- Your pipeline is back-filling CRM records from Stripe customer data
- You need to match Stripe customers to existing CRM companies or contacts before writing
Endpoints to call
| Step | Endpoint | Purpose |
|---|---|---|
| 1 | POST /api/v1/ingest/batch | Ingest the Stripe customer record |
| 2 | POST /api/v1/resolve/company | Match to a canonical AnchorID (or /resolve/person) |
| 3 | POST /api/v1/guard/write | Evaluate the CRM write before executing |
If you've connected Stripe via OAuth in the Anchord console, webhook events are automatically ingested — you can skip step 1 and go straight to resolve.
Expected outcomes
resolved → allowed Stripe customer matched to a CRM record. Update the existing CRM record with the new data.
not_found → allowed No CRM match. Safe to create a new company or contact in your CRM.
needs_review Stripe customer matches multiple CRM records with similar confidence. Do not write. Escalate to a human.
blocked Entity has unresolved conflicts. Do not write until resolved.
What the agent should do next
If allowed: Write to the CRM using the canonical entity ID. If resolved, update the existing record. If not_found, create a new one.
If needs_review: Do not write. Store the attempt_id and link the user to the Review Queue. Retry after human resolution.
If blocked: Do not write. Log the blocks array. The Stripe data is already ingested in Anchord — it won't be lost.