Form — Input & Output
Output ports, form_data object schema, field access patterns, and downstream integration guidance.
Output Ports
| Port | Fires When | Data Available |
|---|---|---|
| pending | Phase 1 completes — form has been assigned to the actor's inbox and the workflow is now suspended. | Only the session_id of the created EngageSession. |
| success | Phase 2 completes — the actor has submitted the form with all required fields validated. | Full output object including form_data, submitted_by, submitted_at, form_id, and session_id. |
| error | A system error occurred — actor ID not found, form schema is invalid, or the due date expired without submission. | Standard error object with error_message and error_code. |
Output Data Schema
| Field | Type | Description |
|---|---|---|
form_data |
object | A key-value map of all submitted field values. Keys are the field IDs from the form schema. Values are typed according to the field type (string, number, boolean, date, file URL). See example below. |
submitted_by |
string | User ID of the actor who submitted the form. Always matches the assigned_to value (other users cannot submit a form assigned to someone else). |
submitted_at |
datetime (ISO 8601) | UTC timestamp of when the form was submitted. |
form_id |
string | The Atlas Form schema ID used for this submission — either the referenced form ID or an auto-generated ID for inline schemas. |
session_id |
string | The EngageSession identifier. Can be used to retrieve the full session record from the Engage API for audit purposes. |
Output Data Example
Example output on the success port after a KYC form submission:
{
"form_data": {
"full_name": "Sarah Mitchell",
"date_of_birth": "1988-04-23",
"account_type": "Personal",
"id_document": "https://storage.bizfirstai.com/blobs/engage/kyc-docs/id-sarah-mitchell-4f9a.pdf",
"declaration": true,
"tax_id": "GB-123456789",
"residential_address": {
"line1": "42 Maple Street",
"city": "London",
"postcode": "EC1A 1BB",
"country": "GB"
}
},
"submitted_by": "user:sarah-mitchell-001",
"submitted_at": "2025-03-14T11:38:22Z",
"form_id": "form:kyc-standard-v3",
"session_id": "engage-sess-2c71a4fd"
}
Accessing form_data in Downstream Nodes
Individual field values are accessed via dot notation on the form_data object:
// Access a top-level field
$nodes.form_kyc_collection.form_data.full_name
$nodes.form_kyc_collection.form_data.account_type
// Access a file URL
$nodes.form_kyc_collection.form_data.id_document
// Access a nested address field
$nodes.form_kyc_collection.form_data.residential_address.city
// Access submission metadata
$nodes.form_kyc_collection.submitted_by
$nodes.form_kyc_collection.submitted_at
File fields: File upload fields return a secure BizFirstAI Blob Storage URL. This URL can be passed to downstream nodes for document processing, storage in an external system, or inclusion in notification messages. URLs are scoped to the workflow execution and do not require separate authentication for in-workflow use.