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

# Execute integration tool

> Runs one tool from an integration once, using the project's stored connection and without starting a conversation. The tool acts on the real connected account, so a tool that writes to an external system changes that system.



## OpenAPI

````yaml /specs-prettified/realtime/openapi.stable.json post /v1/stable/integration/{integration}/execute
openapi: 3.0.0
info:
  title: Realtime
  description: Realtime gateway API service
  version: 1.0.0
  contact: {}
servers:
  - url: https://realtime-api.voiceflow.com
security: []
tags: []
paths:
  /v1/stable/integration/{integration}/execute:
    post:
      tags:
        - Integration
      summary: Execute integration tool
      description: Runs one tool from an integration once, using the project's stored
        connection and without starting a conversation. The tool acts on the
        real connected account, so a tool that writes to an external system
        changes that system.
      operationId: StableIntegrationController_execute
      parameters:
        - name: integration
          required: true
          in: path
          schema:
            type: string
          x-vf-doc:
            description: The integration identifier, as `GET /v1/stable/integration` lists
              it (for example `twilio`).
          description: The integration identifier, as `GET /v1/stable/integration` lists
            it (for example `twilio`).
        - name: projectID
          required: true
          in: query
          schema:
            type: string
            description: The ID of the project to operate on.
        - name: environmentAlias
          required: true
          in: query
          schema:
            type: string
            description: The alias of the environment to operate on (e.g. `main`).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StableIntegrationExecuteRequest"
      responses:
        "200":
          description: Returns what the tool returned in `output`, or null when the run
            failed. Secret values read `[secret]` in the result.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StableIntegrationExecuteResponse"
          x-vf-doc:
            description: Returns what the tool returned in `output`, or null when the run
              failed. Secret values read `[secret]` in the result.
      security:
        - token: []
components:
  schemas:
    StableIntegrationExecuteRequest:
      type: object
      properties:
        toolName:
          description: The catalog tool to run, as get_schema lists it, such as
            `zendesk_find_ticket`. It must belong to the integration in the
            path.
          allOf:
            - $ref: "#/components/schemas/IntegrationToolName"
          enum:
            - example_dynamic_schema
            - zendesk_find_user
            - zendesk_find_group
            - zendesk_find_ticket
            - zendesk_create_ticket
            - zendesk_update_ticket
            - zendesk_add_ticket_comment
            - zendesk_update_organization
            - zendesk_find_latest_comment
            - salesforce_create_lead
            - salesforce_update_lead
            - salesforce_create_contact
            - salesforce_update_contact
            - salesforce_create_case
            - salesforce_update_case
            - salesforce_add_comment_to_case
            - shopify_get_products
            - shopify_get_order
            - shopify_cancel_order
            - shopify_update_order
            - google_sheets_create_spreadsheet
            - google_sheets_update_spreadsheet
            - google_sheets_read_spreadsheet
            - google_sheets_append_spreadsheet
            - google_sheets_read_row
            - google_gmail_send_email
            - airtable_create_records
            - airtable_delete_records
            - airtable_get_record
            - airtable_list_records
            - airtable_update_records
            - make_run_scenario
            - twilio_send_sms
            - hubspot_create_contact
            - hubspot_create_lead
            - hubspot_create_ticket
          x-enumNames:
            - EXAMPLE_DYNAMIC_SCHEMA
            - ZENDESK_FIND_USER
            - ZENDESK_FIND_GROUP
            - ZENDESK_FIND_TICKET
            - ZENDESK_CREATE_TICKET
            - ZENDESK_UPDATE_TICKET
            - ZENDESK_ADD_TICKET_COMMENT
            - ZENDESK_UPDATE_ORGANIZATION
            - ZENDESK_FIND_LATEST_TICKET_COMMENT
            - SALESFORCE_CREATE_LEAD
            - SALESFORCE_UPDATE_LEAD
            - SALESFORCE_CREATE_CONTACT
            - SALESFORCE_UPDATE_CONTACT
            - SALESFORCE_CREATE_CASE
            - SALESFORCE_UPDATE_CASE
            - SALESFORCE_ADD_COMMENT_TO_CASE
            - SHOPIFY_GET_PRODUCTS
            - SHOPIFY_GET_ORDER
            - SHOPIFY_CANCEL_ORDER
            - SHOPIFY_UPDATE_ORDER
            - GOOGLE_SHEETS_CREATE_SPREADSHEET
            - GOOGLE_SHEETS_UPDATE_SPREADSHEET
            - GOOGLE_SHEETS_READ_SPREADSHEET
            - GOOGLE_SHEETS_APPEND_SPREADSHEET
            - GOOGLE_SHEETS_READ_ROW
            - GOOGLE_GMAIL_SEND_EMAIL
            - AIRTABLE_CREATE_RECORDS
            - AIRTABLE_DELETE_RECORDS
            - AIRTABLE_GET_RECORD
            - AIRTABLE_LIST_RECORDS
            - AIRTABLE_UPDATE_RECORDS
            - MAKE_RUN_SCENARIO
            - TWILIO_SEND_SMS
            - HUBSPOT_CREATE_CONTACT
            - HUBSPOT_CREATE_LEAD
            - HUBSPOT_CREATE_TICKET
        inputs:
          default: {}
          description: "The tool's inputs, keyed by input name and typed as get_schema
            says. A top-level string value follows the ExecuteInputString rules,
            so {secret_name} inserts a project secret. Secrets work only at the
            top level: inside a nested object or array, {secret_name} is sent as
            written and no secret is filled in."
          type: object
          additionalProperties: {}
      required:
        - toolName
      additionalProperties: false
    IntegrationToolName:
      type: string
      enum:
        - example_dynamic_schema
        - zendesk_find_user
        - zendesk_find_group
        - zendesk_find_ticket
        - zendesk_create_ticket
        - zendesk_update_ticket
        - zendesk_add_ticket_comment
        - zendesk_update_organization
        - zendesk_find_latest_comment
        - salesforce_create_lead
        - salesforce_update_lead
        - salesforce_create_contact
        - salesforce_update_contact
        - salesforce_create_case
        - salesforce_update_case
        - salesforce_add_comment_to_case
        - shopify_get_products
        - shopify_get_order
        - shopify_cancel_order
        - shopify_update_order
        - google_sheets_create_spreadsheet
        - google_sheets_update_spreadsheet
        - google_sheets_read_spreadsheet
        - google_sheets_append_spreadsheet
        - google_sheets_read_row
        - google_gmail_send_email
        - airtable_create_records
        - airtable_delete_records
        - airtable_get_record
        - airtable_list_records
        - airtable_update_records
        - make_run_scenario
        - twilio_send_sms
        - hubspot_create_contact
        - hubspot_create_lead
        - hubspot_create_ticket
      x-enumNames:
        - EXAMPLE_DYNAMIC_SCHEMA
        - ZENDESK_FIND_USER
        - ZENDESK_FIND_GROUP
        - ZENDESK_FIND_TICKET
        - ZENDESK_CREATE_TICKET
        - ZENDESK_UPDATE_TICKET
        - ZENDESK_ADD_TICKET_COMMENT
        - ZENDESK_UPDATE_ORGANIZATION
        - ZENDESK_FIND_LATEST_TICKET_COMMENT
        - SALESFORCE_CREATE_LEAD
        - SALESFORCE_UPDATE_LEAD
        - SALESFORCE_CREATE_CONTACT
        - SALESFORCE_UPDATE_CONTACT
        - SALESFORCE_CREATE_CASE
        - SALESFORCE_UPDATE_CASE
        - SALESFORCE_ADD_COMMENT_TO_CASE
        - SHOPIFY_GET_PRODUCTS
        - SHOPIFY_GET_ORDER
        - SHOPIFY_CANCEL_ORDER
        - SHOPIFY_UPDATE_ORDER
        - GOOGLE_SHEETS_CREATE_SPREADSHEET
        - GOOGLE_SHEETS_UPDATE_SPREADSHEET
        - GOOGLE_SHEETS_READ_SPREADSHEET
        - GOOGLE_SHEETS_APPEND_SPREADSHEET
        - GOOGLE_SHEETS_READ_ROW
        - GOOGLE_GMAIL_SEND_EMAIL
        - AIRTABLE_CREATE_RECORDS
        - AIRTABLE_DELETE_RECORDS
        - AIRTABLE_GET_RECORD
        - AIRTABLE_LIST_RECORDS
        - AIRTABLE_UPDATE_RECORDS
        - MAKE_RUN_SCENARIO
        - TWILIO_SEND_SMS
        - HUBSPOT_CREATE_CONTACT
        - HUBSPOT_CREATE_LEAD
        - HUBSPOT_CREATE_TICKET
    StableIntegrationExecuteResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the tool ran and reported no error.
        latencyMs:
          type: number
          description: How long the run took, in milliseconds, measured by this API around
            the call.
        error:
          nullable: true
          description: Why the run failed when `success` is false, otherwise null. Secret
            values read `[secret]`.
          type: string
        truncated:
          type: boolean
          description: Whether a returned payload was over 64 KB and was cut to its first
            64 KB of JSON text, which then arrives as a string.
        output:
          description: What the integration tool returned, or null when the run failed.
            Secret values read `[secret]`.
      required:
        - success
        - latencyMs
        - error
        - truncated
        - output
  securitySchemes:
    token:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Voiceflow bearer token
````
