Skip to main content
When you import connectors with a webhook_url, Clustr sends a POST request to your URL once processing completes. If your workspace already has imports in progress, a new job may be queued before it starts, so its webhook can arrive later than usual. Nothing is lost while it waits, and Get Job Status shows QUEUED until it begins.

Payload format

The webhook payload contains the full results for all processed connectors.
Each result names the imported connector under the client key. That key is part of the existing webhook contract and is unchanged by the contacts → connectors rename on the import endpoint.

Fields

Person (client and prospect)

Every person field except name is left out when it has no value.

Company

The prospect’s current company. The whole company object is left out when Clustr has no company for the prospect. When it is present, every field below is included, set to "" when unknown.

Relationship

summary.processing_time_seconds is rounded to whole seconds.

Full history

Pass "full_history": true in the import request to add each relationship’s full history to the webhook payload:
  • relationship.shared_experience_history: every company they shared, in the same shape as shared_experience.
  • relationship.shared_education_experience_history: every school they shared, in the same shape as shared_education_experience.
  • relationship.engagement.history: every engagement, with duplicates removed. total_engagements then counts the entries in history.
Possible engagement types: PROSPECT_COMMENTED, PROSPECT_LIKED, PROSPECT_REACTED, PROSPECT_RECOMMENDED, CLIENT_COMMENTED, CLIENT_LIKED, CLIENT_RECOMMENDED.

Custom data passthrough

Any data you send in the custom field of the import request is passed through to the webhook payload unchanged. Use this to correlate webhook responses with your internal records.

Error payloads

When processing fails, status is "failed", results is left out and an error object is included:
See the full webhook payload schema in the OpenAPI spec.