> For the complete documentation index, see [llms.txt](https://kb.theloops.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.theloops.io/digitalworkers/ifs-loops-digital-workers/how-to-guides/debug-a-tool.md).

# Debug a tool

### Navigate to the tool <a href="#navigate-to-the-tool" id="navigate-to-the-tool"></a>

{% stepper %}
{% step %}
Click on **TOOLS**.
{% endstep %}

{% step %}
Select **DEBUG**.
{% endstep %}

{% step %}
Choose the tool you want to debug (e.g., *Play-tok*).
{% endstep %}
{% endstepper %}

### Inspect event details <a href="#inspect-event-details" id="inspect-event-details"></a>

{% stepper %}
{% step %}
In the execution view, you’ll see three tabs:

1. Execution
2. Input Attributes
3. Output Attributes
   {% endstep %}

{% step %}
At the **TRIGGER** confirm the input by clicking the checkmark.
{% endstep %}

{% step %}
Review the **INTEGRATION EVENT**, which shows how the form was submitted.
{% endstep %}

{% step %}
Look at the **DYNAMIC VALUES**, which display the output of the task.
{% endstep %}
{% endstepper %}

### Debug at the task level <a href="#debug-at-the-task-level" id="debug-at-the-task-level"></a>

{% stepper %}
{% step %}
For an **API TASK**:

1. Check **COMPUTE ARGUMENTS** to see task inputs
2. Review the **STATUS** (done, failed, etc.)
3. Look at **DYNAMIC VALUES** for the output
   {% endstep %}

{% step %}
For a **WIDGET RESPONSE TASK**:

1. Again, check Compute Arguments, Status, and Dynamic Values.
   {% endstep %}
   {% endstepper %}

### Debug a failed execution <a href="#debug-a-failed-execution" id="debug-a-failed-execution"></a>

{% stepper %}
{% step %}
Select a tool with a failed execution and go to **EVENTS**.
{% endstep %}

{% step %}
Find and click on a failed entry.
{% endstep %}

{% step %}
Check each task execution:

1. If the last task has nothing, the failure likely occurred at the API task level.
2. Review **INPUT ATTRIBUTES** for the trigger.
3. Review the **API TASK**:
   1. Compute Arguments
   2. Input Attributes
   3. Status (likely failed)
   4. Exception details (e.g., “unauthorized issue,” token expired).
      {% endstep %}

{% step %}
Click **OK** to confirm and continue checking other executions if needed.
{% endstep %}
{% endstepper %}
