Log Type Reference

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.

Shared Metadata

Every log includes the following top-level fields:

FieldDescription
TimestampWhen the log was emitted (e.g., 2025-10-21 13:41:32).
Log levelAlways Debug.
Log typeUnique identifier for the log (e.g., listener.webhook.trigger).
Plugin nameName of the plugin (if applicable).
RequestorUser or system that triggered the event (e.g., <nil>, email).
SummaryBrief description of the event.
Data redactionWarning 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:

"root":{
  "created_at":"2025-04-14T03:08:12Z"
  "plugins_passed_filter":{...}
  "rewritten_utterance":"<REDACTED>"
  "user_utterance":"<REDACTED>"
}
AttributeRedacted?Description
plugins_passed_filterNoList of plugins that passed assistant filtering.
rewritten_utteranceYesUtterance sent to LLM after rewriting.
user_utteranceYes (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:

"root":{
  "created_at":"2025-04-14T03:08:12Z"
  "error_message":""
  "selected_plugin":"KnowledgeSearchPlugin"
  "slots":{...}
}
AttributeRedacted?Description
error_messageNoError if plugin failed to trigger.
selected_pluginNoPlugin chosen by the AI.
slotsYes (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":"<REDACTED>"
  "message_type":"MESSAGE_TYPE_FINAL"
  "plugin_id":"ce815b89-f716-41dd-b998-63bb5d606b1e"
  "plugin_status":"PLUGIN_STATUS_DONE"
}
AttributeRedacted?Description
messageYes (Possible)The message sent from the assistant to the user.
plugin_statusNoFinal 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"
}
AttributeRedacted?Description
execution_updates[].nameNoStep type (action, resolver).
execution_updates[].statusNoFinal status (DONE, FAILED).
execution_updates[].input/outputYes (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:

"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"
}
AttributeRedacted?Description
accessed_variablesYes (Possible)Variables used during trigger.
input_argumentsYes (Possible)Input args with type/value.
step_infosNoInformation about the status of each step of the workflow
root_uuidNoThe uuid that ties all actions and steps within a execution together.
workflow_idNoCompound 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:

"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"
}
AttributeRedacted?Description
payload_dataYes (Possible)Action input/output.
payload_data.resultYes (Possible)Data returned by the step
from_status / to_statusNoState 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":"<EMPTY>"
  "response_code":{}
  "response_payload":{...}
}
AttributeRedacted?Description
request_headersYes (Always)Sent headers.
request_payloadYes (Always)Request body.
response_payloadYes (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": {...}
}
AttributeRedacted?Description
variablesYes (Possible)Input variables.
resultYes (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:

{
  "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": { ... }
}
AttributeRedacted?Description
headers, raw_body, parsed_bodyYes (Possible)Full request details.
response_body, response_headersYes (Possible)What was sent back.
response_codeNoHTTP 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:

{
  "event_payload": { ... },
  "process_update": { ... },
  "event_metadata": { ... }
}
AttributeRedacted?Description
event_payloadYes (Possible)Full parsed event.
process_updateNoProcessing state.

Debug Use Cases:

  • Event parsing issues.
  • Payload transformation.

listener.webhook.plugin.trigger

Purpose: Logs plugins triggered by the webhook.

Example Body:

{
  "event_metadata": { ... },
  "event_uuid": "uuid",
  "created_at": "2025-10-21T18:41:31.916667368Z",
  "expired": [],
  "failed_to_trigger": [],
  "skipped": [],
  "successfully_triggered": ["Plugin_1"]
}
AttributeRedacted?Description
successfully_triggeredNoList of triggered plugins.
failed_to_trigger, skippedNoPlugins 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.

What’s Next