Skip to main content
A form submission is a record: Custral has no separate submissions table, so completing a form creates a record on the form’s object. This event tells you which form was completed and which record it produced.

Payload

string
required
The form that was submitted. Always present.
string
The form’s name at the time of submission.
string
The object the submission wrote a record to.
string
The record the submission created.
string
The ending screen the respondent reached, when the form branches. null for an in-app submission, which has no ending.
string
How the form was reached.

The answers are not in this payload

Deliberately. The submission’s answers are the record’s fields, so read them from the record rather than from the event:
A submission also fires record.created for the same record, and that event carries the fields inline. If you subscribe to both, deduplicate on recordId.

Worth knowing

  • Only a submission that created a record fires this. A refused submission, a validation failure, or an abandoned form does not.
  • Every source fires it, including in-app submissions from a form block.
  • Analytics are separate. Views, starts and per-page drop-off are recorded for the form’s own funnel and are not delivered as webhooks. See Forms.