Skip to main content
Reference — lookup information.
Get notified of events in your Affinity account by setting up webhooks with Affinity’s API V1 (not available for API V2 at this time). Note: If you’re currently trialing Affinity, you will not be able to access the Affinity API (and therefore set up webhooks) until you purchase one of the following tiers: Scale, Advanced, or Enterprise. Please see Getting started with the Affinity API + FAQs.

Important Callouts

  • Payload responses are formatted the same for each webhook event (created, updated, deleted), except for the ones with a “Note:” mentioned.
  • Setting up webhooks for Affinity is only available using Affinity’s API V1 at this time, not API V2. Please see the section titled “Differences between API V1 and API V2” in the article Getting started with the Affinity API + FAQs.

Frequently Asked Questions

Do webhooks count toward my API credits?

  • Creating, updating, and deleting the webhook URL or making any changes to the subscription will count towards your API credits.
  • API events sent to your URL do not count towards your API credits.

What events do not trigger webhooks?

  • Auto-enriched field values will not trigger webhooks (this includes Affinity Data, PitchBook, Dealroom.co fields, and the enriched fields provided by Affinity).
    • Webhooks will only get triggered within auto-enriched fields if a user decides to manually add values to these fields or delete these manually-added values in the future.

Do imports trigger webhooks?

Yes. Importing data into Affinity changes field values, and those changes fire webhooks like any other edit. Undoing an import also triggers webhooks, because the undo changes values back to a previous state. Treat the undo as a second set of changes rather than a mirror image of the first — the data may have moved on between the import and the undo, so the events it generates will not necessarily be the exact inverse. If you have webhook subscriptions, size the expected volume before running a large import — see the next question.

How many webhooks will an import send?

Three things multiply:
  1. Rows actually changed. Rows whose values do not change generate no events.
  2. One edit can produce more than one event. A single field value change commonly arrives as a field_value.deleted for the old value followed by a field_value.created for the new one, rather than a single field_value.updated. Subscribe to all three event types and treat them as a stream of changes — don’t assume one event per edit.
  3. Each subscription is delivered separately. If three subscriptions listen for field_value.created, one created event leaves Affinity as three webhooks.
Put together, the volume is:
Worked example — an import that changes one field on 100 rows, with three subscriptions listening to both created and deleted:
  • 100 rows × up to 2 events = up to 200 events
  • 200 events × 3 subscriptions = up to 600 webhooks
Plan for the upper bound. If you later undo the import, budget for a second wave of webhooks on top. If you use webhooks to track ownership or status, expect to see removals as well as additions when values change. This is expected behaviour, and the resulting data in your CRM is correct.

Types of Webhooks

Organization

Please note that the “Organization merged” webhook will provide a different response.

Organization Merged

Person

Please note that organization_ids is not returned when a Person is deleted.

Opportunity

Please note that organization_ids and person_ids are not returned when an Opportunity is deleted.

List

List Entry

Field

Field Value

A single change may arrive as a field_value.deleted followed by a field_value.created rather than a field_value.updated. Don’t rely on field_value.updated alone to catch every change — subscribe to all three event types.

Notes

File