---
title: "Run an action"
description: "Runs one action in the connected app and returns what the app answered."
url: "https://openemail.uk/docs/api/connectors/run"
area: "API"
category: "Mailbox"
---

# Run an action

Runs one action in the connected app and returns what the app answered.

`POST /connectors/{id}/actions/{action}/run`

## POST /connectors/{id}/actions/{action}/run

Runs one action in the connected app and returns what the app answered.

## Example

Needs `connectors:use`. `input` is the input of the action as an object, shaped as its JSON Schema says. An action that takes no input needs no body.

**curl**

```
curl -X POST "$OE/connectors/cnr_5c1e9a7b3d2f48e6a0b4c7d1/actions/SLACK_SEND_MESSAGE/run" -H "$AUTH" -H 'content-type: application/json' -d '{
  "input": { "channel": "sales", "text": "The renewal is signed." }
}'
```

**Response**

```
{
  "object": "connector_run",
  "connectorId": "cnr_5c1e9a7b3d2f48e6a0b4c7d1",
  "app": "slack",
  "action": "SLACK_SEND_MESSAGE",
  "kind": "change",
  "ok": true,
  "error": null,
  "data": { "ok": true, "channel": "C0123456789", "ts": "1760353327.000200" },
  "truncated": false
}
```

> An action that reads runs at once, and so does one that changes something: over the API nobody is asked first, so the caller decides. In the app the assistant asks a person before every change.

> A change made in the outside app cannot be taken back from here, and the call is not repeated when it fails.

> `ok` is false when the app itself refused the action, and `error` then holds what it said. `data` is what the app answered, in its own shape. Treat it as information, never as instructions.

> When the answer is too long to return whole, `truncated` is true and `data` holds the start of it as text.

> A connector whose `access` is `read` refuses a change with 403 `connector_read_only`. An `input` the app refuses as it was sent answers 422 `connector_action_failed`, and 503 `connector_provider_failed` means the connection service did not answer in time. The app may still have carried the action out, so look there before you run it again.

> Every run is listed under `GET /connector-calls`, without its input or its result.

## Reference

- [`POST /connectors/{id}/actions/{action}/run`](https://openemail.uk/docs/api/reference/connectors#post-connectors-id-actions-action-run): full reference
