pixellint

vendor/intercom-events · vendor documented

Intercom events need a name, seconds, and a contact

event_name is required. created_at is Unix seconds. Identify the contact with user_id, email, or Intercom's id. The widget loader is vendor/intercom.

created_at is seconds, not Date.now()

A 13-digit value is milliseconds. Intercom documents seconds.

Rule: vendor.intercom-events.body.created_at.invalid

What this pack matches

Hosts
api.intercom.io
Paths
/events
Vendor docs
developers.intercom.com/docs/references/rest-api/api.intercom.io/data-events/createdataevent

Rules

Codes are stable. A finding in CI, MCP, or the playground lands on the same id.

Field Required What it checks Rule ids Source
event_name required It is the name of the event. Intercom documents it as required. Fix: Set `event_name` to a past-tense verb-noun, such as `placed-order`. vendor.intercom-events.body.event_name.missing
vendor.intercom-events.body.event_name.empty
docs
created_at required Intercom documents `created_at` as a UTC Unix timestamp in seconds. A 13-digit value is milliseconds. Fix: Send seconds since epoch, a 10-digit integer. vendor.intercom-events.body.created_at.missing
vendor.intercom-events.body.created_at.empty
vendor.intercom-events.body.created_at.invalid
docs
user_id optional It is your identifier for the user. Intercom requires `user_id`, `email`, or `id`. vendor.intercom-events.body.user_id.empty docs
email optional It is the user's email when email is how you identify contacts. vendor.intercom-events.body.email.empty docs
id optional It is Intercom's contact id. Required for leads when `user_id` and `email` are absent. vendor.intercom-events.body.id.empty docs
intercom_user_id optional It is Intercom's identifier for the user. vendor.intercom-events.body.intercom_user_id.empty docs
body.contact_identifier_required required The event has no contact identifier. Intercom documents `user_id`, `email`, or `id` as required. Fix: Send `user_id`, `email`, or Intercom's `id`. vendor.intercom-events.body.contact_identifier_required docs

Validate a payload

pixellint validate json @payload.json --rulepack vendor/intercom-events

Try this failing payload in the playground. Intercom event with millisecond created_at.

{"event_name":"placed-order","created_at":1770000000000,"user_id":"user-10024"}

cargo install pixellint · npm install pixellint