Invoke connector tool
well_invoke_connector_toolRun one tool on a connected provider's own MCP server (e.g. create a record in Attio), on behalf of this workspace's connection.
Use this ONLY for an action the user explicitly asked to take on that provider. It is NOT a way to read financial data: Well already syncs invoices, transactions, accounts and the accounting graph from every connected provider — read those with well_query_records instead of calling a provider's own list/read tools.
WORKFLOW:
well_list_connectors() → pick the ENABLED provider (connection_status: "enabled") and read its workspace_connector_id directly off the row.
well_list_connector_tools({ workspace_connector_id }) → the live tool names + input schemas that connection actually exposes right now.
well_invoke_connector_tool({ workspace_connector_id, tool: "<one of the names from step 2>", args: { ... } }).
Only works on connectors that expose an MCP server (e.g. Attio, Notion, Linear) and whose connection is enabled. Returns the provider's tool result, or { success: false, error } if the tool failed / is not granted.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Arguments object passed straight to the provider tool. Omit if the tool takes none. | |
| tool | Yes | The provider tool name to run (one of the connector's available_tools). | |
| workspace_id | No | Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several — a write lands in exactly one workspace and this call would not say which. | |
| idempotency_key | No | Optional client-supplied key. A retried write with the same key returns the original result instead of re-applying the operation. | |
| workspace_connector_id | Yes | The connected provider's workspace_connector_id (from well_list_connectors). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | ||
| error | No | ||
| result | No | ||
| success | Yes | ||
| error_code | No |