AckdbEventTypeDefinition
Complete source event contract, including ownership and optional subject mappings. entity is company-only; person extracts an affiliated actor; person_only resolves one independent human without an affiliation.
Properties
sourceTypestringrequiredeventTypestringrequireddescriptionstringrequiredWhat this event represents (for AI agents and workflow builders)
categorystring | nullCross-source activity category for this event (e.g. `billing`, `communication`, `meeting`). Lets agents filter related events across different sources.
contentNaturestring | nullHow the event's content should be treated downstream (e.g. for embedding). `conversational` content is chunked + embedded; `structured`/`activity-signal` is not.
"conversational""structured""activity-signal"nullrationalestringWhy this event is included and which redundant events it replaces
replacesEventsarray ofSource events intentionally excluded because this event covers their signal
fieldsobjectrequiredPer-field definitions with type, description, computeHint, example
promotedMetadataFieldsarray ofFields promoted to entity_events.metadata for fast queryability
traitHintsarray ofTraits that should be updated when this event is ingested
traitKeystringcomputeHintstringupdateStrategystring"always""first_only""latest"ingestExampleobjectComplete POST /ingest request body - copy-pasteable template
eventScopestringOwnership comes from the event type: entity is company-only, person is a person at a company, person_only is the human alone. Personal requests omit company links (or send empty arrays), forbid non-null entityId/contactId and nonempty contacts/traits/files, and resolve a durable person key or explicit personId. Personal structured/activity events create no affiliations.
"entity""person""person_only"contactMappingsarray ofExample
{
"sourceType": "stripe",
"eventType": "invoice.paid",
"description": "string",
"category": "billing",
"contentNature": "structured",
"rationale": "string",
"replacesEvents": [
"string"
],
"fields": {},
"promotedMetadataFields": [
"string"
],
"traitHints": [
{
"traitKey": "string",
"computeHint": "string",
"updateStrategy": "always"
}
],
"ingestExample": {},
"eventScope": "entity",
"contactMappings": [
{
"role": "string",
"nameField": "string",
"emailField": "string",
"titleField": "string",
"externalIdField": "string",
"externalIdType": "string",
"linkedinUrlField": "string",
"phoneField": "string",
"departmentField": "string",
"excludeWhen": {},
"startedAtField": "string",
"endedAtField": "string",
"externalIdScope": "person",
"endsPrior": false,
"isPrimary": false
}
]
}