---
title: Log Type Reference
excerpt: ''
deprecated: false
hidden: false
metadata:
title: ''
description: ''
robots: index
next:
pages:
- slug: log-redaction
title: Log Data Security
type: basic
---
# Overview
Logs provide detailed visibility into plugin execution, webhook processing, and data flow. Each log entry includes shared metadata and a context-specific body under the root key. Use these logs to debug plugin selection, slot resolution, action execution, webhook handling, and more.
_**Note**: Logs with sensitive data may be redacted. Learn more about [log redaction](/docs/log-redaction)._
## Shared Metadata
Every log includes the following top-level fields:
| Field | Description |
| :----------------- | :---------------------------------------------------------------- |
| **Timestamp** | When the log was emitted (e.g., `2025-10-21 13:41:32`). |
| **Log level** | Always `Debug`. |
| **Log type** | Unique identifier for the log (e.g., `listener.webhook.trigger`). |
| **Plugin name** | Name of the plugin (if applicable). |
| **Requestor** | User or system that triggered the event (e.g., ``, email). |
| **Summary** | Brief description of the event. |
| **Data redaction** | Warning if sensitive data is not redacted. |
***
# Log Types
## `dm.user.message`
**Purpose**: Logs the user's original utterance and plugins that passed initial filtering.
#### Example Body:
```json
"root":{
"created_at":"2025-04-14T03:08:12Z"
"plugins_passed_filter":{...}
"rewritten_utterance":""
"user_utterance":""
}
```
| Attribute | Redacted? | Description |
| :---------------------- | :----------- | :----------------------------------------------- |
| `plugins_passed_filter` | No | List of plugins that passed assistant filtering. |
| `rewritten_utterance` | Yes | Utterance sent to LLM after rewriting. |
| `user_utterance` | Yes (Always) | Original user input from chat. |
#### Debug Use Cases:
* If your Plugin is low in the list but not selected, you may need to write better names, descriptions, and example triggering utterances
* If your Plugin is not on the list, you may not be passing the Launch Permissions that are set on the Plugin.
## `conversational_process.execute`
**Purpose**: Logs plugin selection and resolved slots.
#### Example Body:
```json
"root":{
"created_at":"2025-04-14T03:08:12Z"
"error_message":""
"selected_plugin":"KnowledgeSearchPlugin"
"slots":{...}
}
```
| Attribute | Redacted? | Description |
| :---------------- | :------------- | :--------------------------------- |
| `error_message` | No | Error if plugin failed to trigger. |
| `selected_plugin` | No | Plugin chosen by the AI. |
| `slots` | Yes (Possible) | Resolved slot names and values. |
#### Debug Use Cases
* Why did my Plugin fail to trigger?
* Are the slot values correct?
## `dm.assistant.message`
**Purpose**: Logs a message sent to the user.
#### Example Body:
**Example**:
```
"root":{
"created_at":"2025-04-14T03:08:18Z"
"error_message":""
"execution_id":""
"message":""
"message_type":"MESSAGE_TYPE_FINAL"
"plugin_id":"ce815b89-f716-41dd-b998-63bb5d606b1e"
"plugin_status":"PLUGIN_STATUS_DONE"
}
```
| Attribute | Redacted? | Description |
| :-------------- | :------------- | :----------------------------------------------- |
| `message` | Yes (Possible) | The message sent from the assistant to the user. |
| `plugin_status` | No | Final status (`DONE`, `FAILED`). |
#### Debug Use Cases:
* Why no response? Check `error_message` and `plugin_status`.
## `conversational_process.step.execute`
**Purpose**: Logs individual step execution (actions, resolvers) in a plugin.
#### Example Body:
```
"root":{
"created_at":"2025-04-14T03:08:15Z"
"execution_id":"6aFu3ILfBbGB"
"execution_updates": [
0:{
"activity_update":{
"name":"action"
"status":"ACTIVITY_STATUS_COMPLETE"
"input":{...}
"output":{...}
}
}
],
"plugin_status":"PLUGIN_STATUS_PROCESSING"
}
```
| Attribute | Redacted? | Description |
| :--------------------------------- | :------------- | :------------------------------- |
| `execution_updates[].name` | No | Step type (action, resolver). |
| `execution_updates[].status` | No | Final status (`DONE`, `FAILED`). |
| `execution_updates[].input/output` | Yes (Possible) | Data passed in/out of step. |
#### Debug Use Cases:
* Which step failed?
* Unexpected input/output?
***
## `compound_action.trigger`
**Purpose**: Logs initiation of a Compound Action.
#### Example Body:
```Text JSON
"root":{
"accessed_variables":{
"request_type":"get"
"test_user":{...}
}
"error_message":""
"input_arguments":{
"request_type":{...}
"test_user":{...}
}
"progress_updates":[
]
"return_value": {...}
"root_uuid":"uuid"
"status":"WORKFLOW_STATUS_PENDING"
"step_infos": {...}
"step_statuses":{
"plugin_name":"WORKFLOW_STATUS_PENDING"
"plugin_name.step1-uuid":"WORKFLOW_STATUS_PENDING"
}
"use_case_uuid":"uuid"
"workflow_id":"id"
}
```
| Attribute | Redacted? | Description |
| :------------------- | :------------- | :-------------------------------------------------------------------- |
| `accessed_variables` | Yes (Possible) | Variables used during trigger. |
| `input_arguments` | Yes (Possible) | Input args with type/value. |
| `step_infos` | No | Information about the status of each step of the workflow |
| root_uuid | No | The uuid that ties all actions and steps within a execution together. |
| workflow_id | No | Compound action's instance execution ID |
#### Debug Use Cases:
* Malformed input data when triggered.
* Trigger errors.
## `compound_action.step.execute`
**Purpose**: Logs execution of a single step in a Compound Action.
#### Example Body:
```Text JSON
"root":{
"accessed_variables":{...}
"created_at":"2024-12-13T18:03:48Z"
"error_message":""
"from_status":"WORKFLOW_STATUS_PENDING"
"payload_data":{...}
"progress_updates":[]
"return_value":{...}
"step_statuses":{...}
"to_status":"WORKFLOW_STATUS_COMPLETE"
"workflow_id":"vuX-0PRliibN"
}
```
| Attribute | Redacted? | Description |
| :------------------------ | :------------- | :------------------------ |
| `payload_data` | Yes (Possible) | Action input/output. |
| `payload_data.result` | Yes (Possible) | Data returned by the step |
| `from_status / to_status` | No | State transition. |
#### Debug Use Cases:
* Compound Action hit the wrong conditional
* HTTP, Script, or Built-in Action failed
* Compound Action isn't returning the correct data
## `action.http.trigger`
**Purpose**: Logs HTTP action execution.
#### Example Body:
```
"root":{
"canonical_endpoint":"moveworks.my.salesforce.com/services/data/v58.0/query?q=S*****'"
"request_headers":"Authorization: B*****h"
"request_method":"GET"
"request_payload":""
"response_code":{}
"response_payload":{...}
}
```
| Attribute | Redacted? | Description |
| :----------------- | :------------- | :------------- |
| `request_headers` | Yes (Always) | Sent headers. |
| `request_payload` | Yes (Always) | Request body. |
| `response_payload` | Yes (Possible) | Response body. |
#### Debug Use Cases:
* HTTP Request failed due to bad/incorrect auth info
* HTTP Request failed due to bad/incorrect request info
## `action.script.trigger`
**Purpose**: Logs script (APIthon) execution.
#### Example Body:
```
"root": {
"created_at": "2025-07-31T23:07:50Z",
"error_message": "",
"language": "SCRIPT_LANGUAGE_APITHON",
"result": { ... },
"variables": {...}
}
```
| Attribute | Redacted? | Description |
| :---------- | :------------- | :--------------- |
| `variables` | Yes (Possible) | Input variables. |
| `result` | Yes (Possible) | Script output. |
#### Debug Use Cases
* Understand why a script failed by inspecting the `error_message`
* Reproduce issues with access to all variables the script received
* Confirm whether the result matches expected output logic
***
## `listener.webhook.trigger`
**Purpose**: Logs **incoming** webhook request and response sent back to the external system.
#### Example Body:
```json
{
"http_method": "POST",
"headers": { ... },
"parsed_body": { ... },
"raw_body": { ... },
"query_params": { },
"received_at": "2025-10-21T18:41:31Z",
"request_type": "WEBHOOK_REQUEST_TYPE_WEBHOOK",
"response_body": { ... },
"response_code": 200,
"response_headers": { ... }
}
```
| Attribute | Redacted? | Description |
| :----------------------------------- | :------------- | :------------------------- |
| `headers`, `raw_body`, `parsed_body` | Yes (Possible) | Full request details. |
| `response_body`, `response_headers` | Yes (Possible) | What was sent back. |
| `response_code` | No | HTTP status (e.g., `200`). |
#### Debug Use Cases:
* Did the webhook arrive?
* Was the response correct?
## `listener.webhook.processor.update`
**Purpose**: Logs processing of the webhook payload and event data.
#### Example Body:
```json
{
"event_payload": { ... },
"process_update": { ... },
"event_metadata": { ... }
}
```
| Attribute | Redacted? | Description |
| :--------------- | :------------- | :----------------- |
| `event_payload` | Yes (Possible) | Full parsed event. |
| `process_update` | No | Processing state. |
#### Debug Use Cases:
* Event parsing issues.
* Payload transformation.
## `listener.webhook.plugin.trigger`
**Purpose**: Logs plugins triggered by the webhook.
#### Example Body:
```json
{
"event_metadata": { ... },
"event_uuid": "uuid",
"created_at": "2025-10-21T18:41:31.916667368Z",
"expired": [],
"failed_to_trigger": [],
"skipped": [],
"successfully_triggered": ["Plugin_1"]
}
```
| Attribute | Redacted? | Description |
| :----------------------------- | :-------- | :------------------------- |
| `successfully_triggered` | No | List of triggered plugins. |
| `failed_to_trigger`, `skipped` | No | Plugins that didn’t run. |
#### Debug Use Cases:
* Which plugins ran?
***
# Best Practices
* Use `root_uuid` to correlate logs across plugin executions
* Filter by `plugin_name` or `log_type**` to isolate issues.