As journeys run, each step emits activity events that include standard metadata that you can inspect in the Journey analytics and in the User activity log, or stream via Activities APIs to external monitoring systems.
For diagnostic purposes or deeper troubleshooting, you can configure journey steps (except Success/Reject steps) and external connectors, including SMTP, Apple & Google push notifications, Custom HTTP, and Custom Web Service connectors for SMS, email, and push, to record additional data and extend their standard activity events.
In each step's Step data & reporting settings, you can enable Report Step Data to include additional data in the related Step completed event.
Use Step Input & Output to record the step-specific data received and produced by that step during the journey execution. Use Custom Data to record a payload that you define with an authscript expression, such as selected fields, derived values, or a smaller diagnostic object tailored to your investigation.
The step-level configurations are:
| Field | Description |
|---|---|
| Report Step Data | Enables additional event reporting for the step. |
| Data Reported | Determines whether the step records:
|
The reported additional data is surfaced in the Step completed events in fragments such as the following:
"step_data": {
"step_input": {
"name": {},
"username": {
"raw": "@uuid()",
"evaluated": "7bc6cc96-dd05-455e-a8c9-949c5257c5d5"
},
"secondary_emails": [],
"address": {}
},
"step_output": {
"result": {
"user_id": "BWhayr_JWxLGiI6K22wRG",
"created_at": 1779274063221,
"updated_at": 1779274063221,
"status": "Pending",
"app_id": "xvxo4bqhu9PGMkE772AdN",
"username": "7bc6cc96-dd05-455e-a8c9-949c5257c5d5",
"app_name": "Acme LTD"
}
}
}"step_data": {
"custom": {
"variables": [
{
"name": "ClientID",
"value": {
"raw": "@policy.clientInfo().client_id",
"evaluated": "BWhayr_JWxLGiI6K22wRG"
}
}
]
}
}When integrating external services into journeys using external connectors, such as SMTP email services, Apple & Google push notifications, Custom HTTP, Custom server for emails, Custom web services for SMS, and Custom provider for push notifications, you can report external connector data for troubleshooting the integration, validating request mappings, or checking how a third-party service responded during a journey execution.
Use External Connect Request/Response to record the request sent by the connector and the response returned by the external service during the journey execution. Use Custom to record a payload that you define with an expression, such as selected headers, response fields, derived values, or a smaller diagnostic object tailored to your investigation. Use Custom when you need to exclude personally identifiable information (PII), such as recipient addresses or message bodies, from the reported event.
The connector-level configurations are:
| Field | Description |
|---|---|
| Report External Connection Data | Enables additional event reporting for the connector. |
| Data Reported | Determines whether the connector records External Connect Request/Response or Custom. |
| Custom Data Reported | Expression that defines the custom payload recorded for the connector. For syntax details, see About expressions and Expressions: Constructors. |
These connector-level settings are available across SMTP, Apple & Google push notifications, Custom HTTP, and Custom Web Service connectors for SMS, email, and push.
In the connector settings, when choosing Data Reported > Custom, you enter an expression to be evaluated against the external_connection_request object. It exposes three top-level properties:
| Field | Description |
|---|---|
external_connection_request.provider_type | Connector type identifier, such as smtp, push, or push-external. |
external_connection_request.provider_id | The configured connector instance ID. |
external_connection_request.external_connection_data | Object containing the connector request and response data captured for the event. |
In Custom Data Reported, use the expression editor's autocomplete to select fields available for your connector. For example, SMTP and Apple & Google push connectors expose response.result, while Custom HTTP and Custom Web Service connectors expose HTTP response fields such as response.status_code.
{
"provider": external_connection_request.provider_type,
"result": external_connection_request.external_connection_data.response.result,
"latency_ms": external_connection_request.external_connection_data.response.latency_ms
}In reported connector events, the structure of external_connection_data.response depends on the connector type.
| Connectors | Response fields |
|---|---|
| SMTP email services |
|
| Apple & Google push notifications |
|
|
- Keep additional journey event data off by default. Enable it only for the steps or connectors where the extra context is needed for troubleshooting, monitoring, or forensic analysis.
- Prefer stable field names in custom payloads so logs remain easy to search and compare across executions.
- When connector payloads may include sensitive values, prefer a custom payload that records only the fields needed for investigation.
- Avoid recording secrets or unnecessary personal data. There is no automatic global filter for sensitive data, so use Custom Data to define explicitly which fields are recorded.