> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Run integration tool

> Run one integration tool synchronously by its qualified name, with provider arguments and an optional exact connection; returns the native tool result, where a provider failure or a refusal of the tool layer is a result with isError true, not an error.

`runIntegrationTool(input: ExecuteIntegrationToolInput!): IntegrationToolResult!`

## Arguments

| Argument | Type | Required |
| - | - | - |
| `input` | [`ExecuteIntegrationToolInput!`](https://veryfront.com/docs/cloud/graphql/types/executeintegrationtoolinput) | Yes |

## Input fields

### input

[`ExecuteIntegrationToolInput`](https://veryfront.com/docs/cloud/graphql/types/executeintegrationtoolinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `projectReference` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Project ID or slug. Required unless the credential is bound to a project, which may omit it or name its own project. Every run needs the capability of the tool on the project: project.integrations.read, or project.integrations.connect for a tool that writes. A caller without it gets an isError result. |
| `toolName` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes | Catalog-selected tool. Read-only tools require the read capability even when executed through a mutation; other tools require the capability selected by the shared integration authorization policy. |
| `runId` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Agent run ID for validating run-declared integration tools. |
| `agentId` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Agent ID for validating run-declared integration tools. |
| `connectionId` | [`ID`](https://veryfront.com/docs/cloud/graphql/types/id) | No | |
| `expectedConnectionGenerationId` | [`ID`](https://veryfront.com/docs/cloud/graphql/types/id) | No | |
| `args` | [`JSON`](https://veryfront.com/docs/cloud/graphql/types/json) | No | Tool arguments. Omit or send null to call the tool with \{}. |

## Response

Returns [`IntegrationToolResult!`](https://veryfront.com/docs/cloud/graphql/types/integrationtoolresult). Open the type for its fields and nested types.

| Field | Type |
| - | - |
| `content` | [`JSON!`](https://veryfront.com/docs/cloud/graphql/types/json) |
| `structuredContent` | [`JSON`](https://veryfront.com/docs/cloud/graphql/types/json) |
| `isError` | [`Boolean`](https://veryfront.com/docs/cloud/graphql/types/boolean) |
| `_meta` | [`JSON`](https://veryfront.com/docs/cloud/graphql/types/json) |

Types marked with `!` cannot be null. Lists use `[Type]` notation. The [type index](https://veryfront.com/docs/cloud/graphql/schema.md) lists all published input and response types.

## Example

```graphql title="query.graphql" theme={null}
mutation RunIntegrationTool($input: ExecuteIntegrationToolInput!) {
  runIntegrationTool(input: $input) {
    _meta
    content
    isError
    structuredContent
  }
}
```

```json title="variables.json" theme={null}
{
  "input": {
    "projectReference": "00000000-0000-4000-8000-000000000001",
    "toolName": "example"
  }
}
```

<details>
  <summary>Try this mutation</summary>

  Calls use `https://api.veryfront.com/graphql`. Replace sample values with resources you can access. See [Authentication](https://veryfront.com/docs/cloud/authentication.md) for credentials and permissions.

  Bearer token or API key

  Stored in this tab's session. Clear credential

  Mutation

  Variables (JSON)
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.