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

# Run Tool

> Run a Tool on behalf of your user.

This endpoint can be used to call any ActionKit Tool on behalf of your user.

You can find specific input parameters for a Tool you want to call in the Tools Reference, for example:

* [Slack: Send Message](/actionkit/integrations/slack/SLACK_SEND_MESSAGE)
* [Google: Drive Download File](/actionkit/integrations/googledrive/GOOGLE_DRIVE_DOWNLOAD_FILE)
* [Gmail: Search Emails](/actionkit/integrations/gmail/GMAIL_SEARCH_FOR_EMAIL)

Each Tool in the Reference is an example call to this endpoint.

<Info>
  This endpoint was previously available at `POST /projects/{project_id}/actions`. The `/actions` path is preserved for backward compatibility; both paths work identically.
</Info>


## OpenAPI

````yaml /actionkit/openapi-standard.json POST /projects/{project_id}/tools
openapi: 3.0.0
info:
  title: ActionKit API
  version: 1.0.0
servers:
  - url: https://actionkit.useparagon.com
    description: US Cloud
security: []
paths:
  /projects/{project_id}/tools:
    post:
      summary: Run Tool
      description: >-
        **Backward Compatibility**: The `/actions` endpoint path and `action`
        parameter are preserved for backward compatibility. Both `/actions` and
        `/tools` work identically.
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              Your Paragon Project ID. You can copy your Project ID from your
              dashboard URL or by clicking Copy Project ID under the Environment
              switcher.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tool:
                  type: string
                  description: The Tool to run
                  example: SLACK_SEND_MESSAGE
                parameters:
                  type: object
                  description: >-
                    The parameters to pass to the Tool. See available parameters
                    for your specific Tool in the Tools Reference.
              required:
                - tool
                - parameters
      responses:
        '200':
          description: >-
            **Note**: Responses will vary by integration provider. Paragon
            returns the API response of the last request that was used to run
            this Tool.
          content:
            application/json:
              example:
                ok: true
                channel: CSQCUNXBP
                ts: '1739896301.418839'
                message:
                  user: U0101SYAC07
                  type: message
                  ts: '1739896301.418839'
                  bot_id: B0101SYAB3R
                  app_id: A01001G1G7J
                  text: test
                  team: TM7FL705V
                  bot_profile:
                    id: B0101SYAB3R
                    app_id: A01001G1G7J
                    name: Paragon
                    icons:
                      image_36: >-
                        https://avatars.slack-edge.com/2020-03-24/1022919802484_c4af0a8de9e9c25f4b58_36.png
                      image_48: >-
                        https://avatars.slack-edge.com/2020-03-24/1022919802484_c4af0a8de9e9c25f4b58_48.png
                      image_72: >-
                        https://avatars.slack-edge.com/2020-03-24/1022919802484_c4af0a8de9e9c25f4b58_72.png
                    deleted: false
                    updated: 1587073960
                    team_id: TM7FL705V
                  blocks:
                    - type: section
                      block_id: iAHFB
                      text:
                        type: mrkdwn
                        text: test
                        verbatim: false
                response_metadata:
                  scopes:
                    - app_mentions:read
                    - chat:write
                    - chat:write.public
                    - channels:read
                    - reactions:write
                    - chat:write.customize
                    - im:read
                    - im:write
                    - users:read
                    - groups:read
                    - channels:manage
                    - groups:write
                    - mpim:write
                    - team:read
                    - channels:history
                    - users:read.email
                    - files:read
                    - files:write
                  acceptedScopes:
                    - chat:write
        '401':
          description: ''
          content:
            application/json:
              example:
                message: Your authorization token has expired.
                code: '7203'
                status: 401
                meta:
                  projectId: ddcd1f1a-440d-4d48-97ab-44878b77f800
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Your [Paragon User
        Token](/getting-started/installing-the-connect-sdk#setup) (JWT), which
        you can generate using your project's signing keys.

````