---
title: "Run tool"
method: POST
path: "/tools/run"
tags: ["gateway"]
---

# Run tool

`POST /tools/run`

## Request

- Base URL: `https://www.dench.com/api/v1`
- URL: `https://www.dench.com/api/v1/tools/run`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Run an external tool action. SLACK_* slugs (SLACK_SEND_MESSAGE with Block Kit blocks/buttons, SLACK_FETCH_HISTORY, SLACK_LIST_CHANNELS, …) run through Dench's in-house Slack app install — any channel in the connected workspace — and are always preferred over any third-party Slack connection. Slack writes (send, react, upload, edit, delete) are shared-only: they act as the shared Dench bot, so a personal CLI session or chat is refused with `slack_shared_only`; ask Dench in Slack, or create a shared Slack automation there.

## Request body

- object
  - `execution_ref` string: Execution ref from a prior search, OR pass session_id+tool_slug.
  - `session_id` string
  - `tool_slug` string: Tool slug, e.g. SLACK_LIST_CHANNELS.
  - `arguments` object: Tool arguments object.
  - `account` string
  - `connected_account_id` string
  - `approvalId` string

## Response `200`

Successful response

- object: Tool execution result with gateway metadata.
  - `data` unknown
  - `error` unknown
  - `log_id` string
  - `execution_mode` string
  - `tool_slug` string
  - `tool_router_session_id` string
  - `toolkit` string
  - `account` string

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `404`: Operation or resource not found
- `500`: Server error

---

[API](https://skmtc.dev/dench/apis/dench-api.md) - [All operations](https://skmtc.dev/dench/apis/dench-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dench/apis/dench-api/revisions/4a145b38f19c?raw)
