Skip to main content
GET
/
connectors
/
{connectorId}
/
actions
/
{actionId}
Get Connector Action Details
curl --request GET \
  --url https://production.runalloy.com/connectors/{connectorId}/actions/{actionId} \
  --header 'Authorization: Bearer <token>' \
  --header 'x-api-version: <x-api-version>'
import requests

url = "https://production.runalloy.com/connectors/{connectorId}/actions/{actionId}"

headers = {
"x-api-version": "<x-api-version>",
"Authorization": "Bearer <token>"
}

response = requests.get(url, headers=headers)

print(response.text)
const options = {
method: 'GET',
headers: {'x-api-version': '<x-api-version>', Authorization: 'Bearer <token>'}
};

fetch('https://production.runalloy.com/connectors/{connectorId}/actions/{actionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://production.runalloy.com/connectors/{connectorId}/actions/{actionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-api-version: <x-api-version>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://production.runalloy.com/connectors/{connectorId}/actions/{actionId}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("x-api-version", "<x-api-version>")
req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://production.runalloy.com/connectors/{connectorId}/actions/{actionId}")
.header("x-api-version", "<x-api-version>")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://production.runalloy.com/connectors/{connectorId}/actions/{actionId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-version"] = '<x-api-version>'
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "action": {
    "id": "chat_postMessage",
    "displayName": "Post",
    "description": "Posts a message into a channel.",
    "httpMethod": "post",
    "path": "/chat.postMessage",
    "parameters": [
      {
        "name": "token",
        "in": "header",
        "description": "Authentication token. Requires scope: `chat:write`",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    ],
    "requestBody": {
      "required": [
        "channel",
        "text"
      ],
      "type": "object",
      "properties": {
        "as_user": {
          "type": "string",
          "description": "Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See [authorship](#authorship) below."
        },
        "attachments": {
          "type": "string",
          "description": "A JSON-based array of structured attachments, presented as a URL-encoded string."
        },
        "blocks": {
          "title": "Block Kit blocks",
          "type": "array",
          "description": "This is a very loose definition, in the future, we'll populate this with deeper schema in this definition namespace.",
          "items": {
            "required": [
              "type"
            ],
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              }
            }
          }
        },
        "channel": {
          "type": "string",
          "description": "Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name. See [below](#channels) for more details."
        },
        "icon_emoji": {
          "type": "string",
          "description": "Emoji to use as the icon for this message. Overrides `icon_url`. Must be used in conjunction with `as_user` set to `false`, otherwise ignored. See [authorship](#authorship) below."
        },
        "icon_url": {
          "type": "string",
          "description": "URL to an image to use as the icon for this message. Must be used in conjunction with `as_user` set to false, otherwise ignored. See [authorship](#authorship) below."
        },
        "link_names": {
          "type": "boolean",
          "description": "Find and link channel names and usernames."
        },
        "mrkdwn": {
          "type": "boolean",
          "description": "Disable Slack markup parsing by setting to `false`. Enabled by default."
        },
        "parse": {
          "type": "string",
          "description": "Change how messages are treated. Defaults to `none`. See [below](#formatting)."
        },
        "reply_broadcast": {
          "type": "boolean",
          "description": "Used in conjunction with `thread_ts` and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to `false`."
        },
        "text": {
          "type": "string",
          "description": "How this field works and whether it is required depends on other fields you use in your API call. [See below](#text_usage) for more detail."
        },
        "thread_ts": {
          "type": "string",
          "description": "Provide another message's `ts` value to make this message a reply. Avoid using a reply's `ts` value; use its parent instead."
        },
        "unfurl_links": {
          "type": "boolean",
          "description": "Pass true to enable unfurling of primarily text-based content."
        },
        "unfurl_media": {
          "type": "boolean",
          "description": "Pass false to disable unfurling of media content."
        },
        "username": {
          "type": "string",
          "description": "Set your bot's user name. Must be used in conjunction with `as_user` set to false, otherwise ignored. See [authorship](#authorship) below."
        }
      }
    },
    "sampleSuccessResponse": {
      "ok": true,
      "channel": "C1H9RESGL",
      "ts": "1503435956.000247",
      "message": {
        "text": "Here's a message for you",
        "username": "ecto1",
        "bot_id": "B19LU7CSY",
        "attachments": [
          {
            "text": "This is an attachment",
            "id": 1,
            "fallback": "This is an attachment's fallback"
          }
        ],
        "type": "message",
        "subtype": "bot_message",
        "ts": "1503435956.000247"
      }
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-api-version
string
default:2025-09
required

API version

x-alloy-userid
string

The ID of the user making the request; If not provided, the request will be made as the API Key user

Path Parameters

connectorId
string
required

Connector ID

actionId
string
required

Action ID

Response

200 - application/json

Action details