Skip to content
NMC Docs

Contact updated

POST

Sent when a contact’s name, email, phone number, or latest activity timestamp changes.

webhook-id
required
string

Unique event ID (matches payload id) used for deduplication and signature verification.

webhook-timestamp
required
string

Unix timestamp in seconds when NMC signed this delivery attempt.

webhook-signature
required
string

Space-separated v1, signatures over {webhook-id}.{webhook-timestamp}.{raw_body}.

Media typeapplication/json
object
api_version
required
string
Allowed values: 2026-10-01
business
required
object
currency_code
required
string
Allowed values: USD CAD
id
required
string format: uuid
name
required
string
timezone
required
string
tracking
required

Whether NMC is currently tracking new calls, texts, forms, and forwarded emails for this business. Tracking pauses when the account’s plan isn’t running or its balance drops to $0 or below.

object
since
required

When tracking last switched between active and paused.

string format: date-time
state
required
string
Allowed values: active paused
website_url
required
string
data
required
object
changed_fields
required

Dot-separated paths of public fields on data.object that changed in this event (excluding updated_at). Empty on *.created events; an array, or an object that appears or disappears, is listed as a whole.

Array<string>
object
required
One of:
object
ai_review
required
Any of:
object
activity_ids
required
Array<string>
city
required
string | null
contact_first_name
required
string | null
contact_last_name
required
string | null
contact_reason
required
string | null
created_at
required
string format: date-time
id
required
string format: uuid
is_reviewable
required
boolean | null
next_step
required
string | null
status
required
string
Allowed values: pending succeeded failed
street_address
required
string | null
suggested_close_reason
required
Any of:
string
Allowed values: couldnt_reach_them price_too_high chose_another_company canceled too_busy other too_far_away work_we_dont_do job_too_small wrong_number existing_job job_seeker spam_or_sales_call
suggested_stage
required
Any of:

Stable identifier for one of the business’s stages. Built-in keys are new, qualified, and converted; a business may also have custom stages. A stage’s key stays the same even if its display name changes.

string
/^[a-z][a-z0-9_]*$/
summary
required
string | null
updated_at
required
string format: date-time
close
required
Any of:
object
closed_at
required
string format: date-time
closed_by
required
object
api_key_id
required
string | null format: uuid
kind
required
string
Allowed values: account client migration automatic api_key
user_id
required
string | null format: uuid
kind
required
string
Allowed values: archived not_a_lead
reason
required
Any of:
string
Allowed values: couldnt_reach_them price_too_high chose_another_company canceled too_busy other too_far_away work_we_dont_do job_too_small wrong_number existing_job job_seeker spam_or_sales_call
contact_id
required
string format: uuid
created_at
required
string format: date-time
first_activity_id
required
string format: uuid
id
required
string format: uuid
last_activity_at
required
string format: date-time
note
required
string | null
note_updated_at
required
string | null format: date-time
note_updated_by_api_key_id
required
string | null format: uuid
source
required
object
channel
required
string
Allowed values: website google_ads google_business_profile local_services_ads other
gbraid
required
string | null
gclid
required
string | null
google_ad_group_id
required
string | null
google_ad_id
required
string | null
google_asset_group_id
required
string | null
google_campaign_id
required
string | null
google_device
required

Google Ads {device} ValueTrack value from the ad click (for example, m for mobile).

string | null
google_keyword
required
string | null
google_match_type
required

Google Ads {matchtype} ValueTrack value from the ad click (for example, e for exact match).

string | null
google_network
required

Google Ads {network} ValueTrack value from the ad click (for example, g for Google Search).

string | null
google_target_id
required
string | null
name
required
string
page_url
required
string | null
page_view_id
required
string | null format: uuid
referrer_url
required
string | null
utm_campaign
required
string | null
utm_content
required
string | null
utm_medium
required
string | null
utm_source
required
string | null
utm_term
required
string | null
wbraid
required
string | null
stage
required

Stable identifier for one of the business’s stages. Built-in keys are new, qualified, and converted; a business may also have custom stages. A stage’s key stays the same even if its display name changes.

string
/^[a-z][a-z0-9_]*$/
status
required
string
Allowed values: open archived not_a_lead
updated_at
required
string format: date-time
value_cents
required

Job value in cents in the business currency. Changing the business currency later does not convert saved amounts.

integer format: int64
id
required
string format: uuid
is_test
required
boolean
occurred_at
required
string format: date-time
related
required
object
contact
object
created_at
required
string format: date-time
email
required
string | null
first_name
required
string | null
id
required
string format: uuid
is_anonymous
required
boolean
last_activity_at
required
string format: date-time
last_name
required
string | null
phone_e164
required

Phone number in E.164 format. Presence on a contact does not prove verified ownership.

string | null
updated_at
required
string format: date-time
lead
object
ai_review
required
Any of:
object
activity_ids
required
Array<string>
city
required
string | null
contact_first_name
required
string | null
contact_last_name
required
string | null
contact_reason
required
string | null
created_at
required
string format: date-time
id
required
string format: uuid
is_reviewable
required
boolean | null
next_step
required
string | null
status
required
string
Allowed values: pending succeeded failed
street_address
required
string | null
suggested_close_reason
required
Any of:
string
Allowed values: couldnt_reach_them price_too_high chose_another_company canceled too_busy other too_far_away work_we_dont_do job_too_small wrong_number existing_job job_seeker spam_or_sales_call
suggested_stage
required
Any of:

Stable identifier for one of the business’s stages. Built-in keys are new, qualified, and converted; a business may also have custom stages. A stage’s key stays the same even if its display name changes.

string
/^[a-z][a-z0-9_]*$/
summary
required
string | null
updated_at
required
string format: date-time
close
required
Any of:
object
closed_at
required
string format: date-time
closed_by
required
object
api_key_id
required
string | null format: uuid
kind
required
string
Allowed values: account client migration automatic api_key
user_id
required
string | null format: uuid
kind
required
string
Allowed values: archived not_a_lead
reason
required
Any of:
string
Allowed values: couldnt_reach_them price_too_high chose_another_company canceled too_busy other too_far_away work_we_dont_do job_too_small wrong_number existing_job job_seeker spam_or_sales_call
contact_id
required
string format: uuid
created_at
required
string format: date-time
first_activity_id
required
string format: uuid
id
required
string format: uuid
last_activity_at
required
string format: date-time
note
required
string | null
note_updated_at
required
string | null format: date-time
note_updated_by_api_key_id
required
string | null format: uuid
source
required
object
channel
required
string
Allowed values: website google_ads google_business_profile local_services_ads other
gbraid
required
string | null
gclid
required
string | null
google_ad_group_id
required
string | null
google_ad_id
required
string | null
google_asset_group_id
required
string | null
google_campaign_id
required
string | null
google_device
required

Google Ads {device} ValueTrack value from the ad click (for example, m for mobile).

string | null
google_keyword
required
string | null
google_match_type
required

Google Ads {matchtype} ValueTrack value from the ad click (for example, e for exact match).

string | null
google_network
required

Google Ads {network} ValueTrack value from the ad click (for example, g for Google Search).

string | null
google_target_id
required
string | null
name
required
string
page_url
required
string | null
page_view_id
required
string | null format: uuid
referrer_url
required
string | null
utm_campaign
required
string | null
utm_content
required
string | null
utm_medium
required
string | null
utm_source
required
string | null
utm_term
required
string | null
wbraid
required
string | null
stage
required

Stable identifier for one of the business’s stages. Built-in keys are new, qualified, and converted; a business may also have custom stages. A stage’s key stays the same even if its display name changes.

string
/^[a-z][a-z0-9_]*$/
status
required
string
Allowed values: open archived not_a_lead
updated_at
required
string format: date-time
value_cents
required

Job value in cents in the business currency. Changing the business currency later does not convert saved amounts.

integer format: int64
type
required
string
Allowed values: lead.created lead.updated activity.created activity.updated contact.created contact.updated business.updated

Stop sending events to this webhook endpoint.

Webhook delivery received.