# Additional data reporting

As journeys run, each step emits activity events that include standard metadata that you can inspect in the [Journey analytics](/guides/orchestration/getting-started/journey_analytics) and in the [User activity](/guides/user/user_audit_logs) log, or stream via [Activities APIs](/openapi/risk/activities.openapi) to external monitoring systems.

For diagnostic purposes or deeper troubleshooting, you can configure journey steps (except Success/Reject steps) and some external connectors to record additional data and extend their standard activity events.

## Report step data

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:

div
| Field | Description |
|  --- | --- |
| **Report Step Data** | Enables additional event reporting for the step. |
| **Data Reported** | Determines whether the step records:**Step Input & Output**—the step-specific input and output metadata.**Custom Data**—an authscript expression that defines the custom payload recorded for the step. For syntax details, see [About expressions](/guides/orchestration/getting-started/expressions/overview) and [Expressions: Constructors](/guides/orchestration/getting-started/expressions/constructors). |


## Report external connectors data

When integrating external services into journeys using external connectors, such as [Custom HTTP](/guides/orchestration/external-connections/web_service_function), [Custom server for emails](/guides/orchestration/external-connections/custom_web_service_email), [Custom web services for SMS](/guides/orchestration/external-connections/custom_web_service_sms), and [Custom provider for push notifications](/guides/orchestration/external-connections/custom_web_service_push), 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.

The connector-level configurations are:

div
| 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](/guides/orchestration/getting-started/expressions/overview) and [Expressions: Constructors](/guides/orchestration/getting-started/expressions/constructors). |


When connector payloads may include sensitive values, prefer a custom payload that records only the fields needed for investigation.

## Best practices

- 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.
- 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.


## Reported data example

The reported additional data is surfaced in the **Step completed** events in fragments such as the following:

#### Inputs & Outputs

```json
"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"
    }
  }
}
```

#### Custom data

```json
"step_data": {
  "custom": {
    "variables": [
      {
        "name": "ClientID",
        "value": {
          "raw": "@policy.clientInfo().client_id",
          "evaluated": "BWhayr_JWxLGiI6K22wRG"
        }
      }
    ]
  }
}
```