Record Event
trigger.copper_event
TriggerCRM & salesconnection requiredruns in-engine
Registers one Copper webhook subscription per event at publish and starts one run per changed record. Emits {id, type, event, timestamp, payload}.
Start a run when a Copper CRM record is created, updated or deleted.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Copper
- Secret shape
- the Copper API key
- Config it needs
- user_email
- Resolved by
- config.connection_id, else node.connection_id
- Note
- The connection's user_email is required — Copper rejects every call without the X-PW-UserEmail header. Publishing also needs MANTLE_APP_PUBLIC_BASE_URL set to an https URL: Copper only accepts https:// notification endpoints.
Configuration
3 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
record_type Which Copper records to watch. One subscription is one entity type; add a second trigger for a second type. | string | Yes | — | one of "lead", "person", "company", "opportunity", "project", "task", "activity_log" | lead |
events Which changes to subscribe to. One Copper subscription is registered per event and deleted again when the workflow is unpublished or disabled. 'new' is Copper's name for a record being created. | array | No | ["new"] | 1–3 characters; array of string | — |
custom_field_computed_values Send dropdown and multi-select custom fields as their display names instead of their option ids in updated_attributes. Off is Copper's own default. | boolean | No | false | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"custom_field_computed_values": false,
"events": [
"new"
],
"record_type": "lead"
}Output
One shape.
copper event
One changed record. Copper sends ids, not records, so `id` is what a following copper.get_record node takes.
Extra keys beyond the ones listed can appear.
| Field | Type | Example |
|---|---|---|
id The Copper record this event is about, as a string. One notification can name up to 30 records and each one starts its own run, so this is always a single id. Copper sends the id only — fetch the record with copper.get_record if the workflow needs its fields. | string | 123 |
type The Copper entity type, e.g. person or lead — the type the subscription was created for. | string | person |
event Which change happened: new, update or delete. Branch on this when the trigger subscribes to more than one. | string | update |
subscription_id The Copper subscription that produced this delivery. Useful when several workflows listen to the same account. | string | 17065 |
timestamp When Copper raised the notification, ISO 8601 with milliseconds. Copper's own clock, not the time this workflow received it. | string | 2021-12-13T19:18:22.084Z |
updated_attributes On an update event only: the fields that changed, each as an [old_value, new_value] pair. Empty on new and delete. | object | — |
payload Copper's notification body verbatim, minus the shared token it echoes back for authentication. Read it for anything the fields above do not lift out. | object | — |
{
"event": "update",
"id": "123",
"payload": {
"event": "update",
"ids": [
123
],
"subscription_id": 17065,
"timestamp": "2021-12-13T19:18:22.084Z",
"type": "person",
"updated_attributes": {
"title": [
"Analyst",
"Senior Analyst"
]
}
},
"subscription_id": "17065",
"timestamp": "2021-12-13T19:18:22.084Z",
"type": "person",
"updated_attributes": {
"title": [
"Analyst",
"Senior Analyst"
]
}
}Notes
- Publishing creates one subscription per event in Copper; unpublishing, disabling or archiving deletes them. A workflow that is off is off at Copper too.
- Copper signs nothing. Each delivery is authenticated by a token this trigger registers both as a header and in Copper's secret object — that proves the sender, not the bytes.
- Copper does not retry: a notification your endpoint 500s is gone. It also caps an account at 600 notifications a minute and 100 subscriptions.
- A bulk change is delivered as up to 30 record ids in one notification, and each id starts its own run.
See Record Event run in a workflow.
In a technical demo we add the Copper connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.