Documentation Index
Fetch the complete documentation index at: https://www.plain.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
This event is fired when a new customer is created in your workspace.
Schema
View JSON Schema →
Example:
{
"timestamp": "2023-10-19T14:12:25.142Z",
"workspaceId": "w_01GST0W989ZNAW53X6XYHAY87P",
"payload": {
"eventType": "customer.customer_created",
"customer": {
"id": "c_01HD44FHDPG82VQ4QNHDR4N2T0",
"email": {
"email": "peter@example.com",
"isVerified": false,
"verifiedAt": null
},
"externalId": null,
"fullName": "Peter Santos",
"shortName": "Peter",
"markedAsSpamAt": null,
"markedAsSpamBy": null,
"customerGroupMemberships": [],
"createdAt": "2023-10-04T14:17:41.991Z",
"createdBy": {
"actorType": "system",
"system": "email_inbound_handler"
},
"updatedAt": "2023-10-04T14:17:41.991Z",
"updatedBy": {
"actorType": "system",
"system": "email_inbound_handler"
}
}
},
"id": "pEv_01HD44FHDPMZ3YJB5GEB1EZKQV",
"webhookMetadata": {
"webhookTargetId": "whTarget_01HD4400VTDJQ646V6RY37SR7K",
"webhookTargetVersion": "2026-02-11",
"webhookDeliveryAttemptId": "whAttempt_01HD44FJ45FJKVFHM3MDVYPGRS",
"webhookDeliveryAttemptNumber": 1,
"webhookDeliveryAttemptTimestamp": "2023-10-19T14:12:25.861Z"
},
"type": "customer.customer_created"
}
Using the Webhooks SDK
You can use the @team-plain/webhooks package to parse and verify this event with full type safety:
import { verifyPlainWebhook } from "@team-plain/webhooks";
const result = verifyPlainWebhook(rawBody, signature, secret);
if (result.error) {
console.error(result.error.message);
} else {
// result.data is fully typed with the event payload
const event = result.data;
console.log(event.eventType, event.payload);
}