Retrieve a Custom Action
curl --request GET \
--url https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}', 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://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}",
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>"
],
]);
$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://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}"
req, _ := http.NewRequest("GET", url, nil)
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://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"uid": "<string>",
"custom_integration_uid": "<string>",
"name": "<string>",
"description": "<string>",
"context": "app_access_request",
"enabled": true,
"interactive_mode": "disabled",
"interactive_input_definition_url": "<string>",
"interactive_input_definition": [
{
"slug": "<string>",
"label": "<string>",
"kind": "enum",
"values": [
"<string>"
],
"required": false,
"multiple": false
}
],
"workflow_input_definition": [
{
"slug": "<string>",
"label": "<string>",
"kind": "enum",
"values": [
"<string>"
],
"required": false,
"multiple": false
}
],
"submit_url": "<string>",
"http_method": "get",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"body": "<string>",
"output_definition": [
{
"slug": "<string>",
"kind": "enum",
"values": [
"<string>"
]
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"troubleshoot": "<string>"
}Usage
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The UID of the Custom Integration
The UID of the Custom Action
Response
Successful
The UID of the Custom Action
The UID of the Custom Integration the action belongs to
The Custom Action name, unique within its Custom Integration (case-insensitive)
What the action does. Shown to admins and used by AI agents to decide when to run it.
The record the action runs on: request, user, app_access_request, or none. It decides which {{variable}} interpolations are available in the URL, headers and body.
app_access_request, none, request, user Whether the action can be executed
How the action is offered to agents in the Siit UI: disabled (not offered), no_inputs (run in one click), static_inputs (form described by interactive_input_definition), or dynamic_inputs (form fetched from interactive_input_definition_url at run time)
disabled, dynamic_inputs, no_inputs, static_inputs HTTPS URL returning the form to display. Required when interactive_mode is dynamic_inputs; cleared otherwise.
The form to display. Required when interactive_mode is static_inputs; cleared otherwise.
- Enum field
- Scalar field
Show child attributes
Show child attributes
Inputs Workflows provide when running the action. null keeps the action out of Workflows; an empty array offers it to Workflows without inputs.
- Enum field
- Scalar field
Show child attributes
Show child attributes
HTTPS URL Siit calls when the action runs. Supports {{variable}} interpolation.
HTTP method used to call submit_url. A get action cannot declare inputs nor a body.
get, post, put, patch, delete Extra HTTP headers sent with the request, on top of the Custom Integration ones
Show child attributes
Show child attributes
Request body template. Supports {{variable}} interpolation. When empty, Siit sends a JSON object of the input values keyed by slug; use {{variable}} interpolation in a custom body to send context fields.
Values extracted from your endpoint JSON response, reusable in later Workflow steps
- Enum output
- Scalar output
Show child attributes
Show child attributes
datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
datetime formatted as ISO 8601 (e.g. "2020-12-15T03:34:13.000Z")
curl --request GET \
--url https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}', 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://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}",
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>"
],
]);
$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://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}"
req, _ := http.NewRequest("GET", url, nil)
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://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/custom_integrations/{custom_integration_uid}/custom_actions/{uid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"uid": "<string>",
"custom_integration_uid": "<string>",
"name": "<string>",
"description": "<string>",
"context": "app_access_request",
"enabled": true,
"interactive_mode": "disabled",
"interactive_input_definition_url": "<string>",
"interactive_input_definition": [
{
"slug": "<string>",
"label": "<string>",
"kind": "enum",
"values": [
"<string>"
],
"required": false,
"multiple": false
}
],
"workflow_input_definition": [
{
"slug": "<string>",
"label": "<string>",
"kind": "enum",
"values": [
"<string>"
],
"required": false,
"multiple": false
}
],
"submit_url": "<string>",
"http_method": "get",
"custom_headers": [
{
"name": "<string>",
"value": "<string>"
}
],
"body": "<string>",
"output_definition": [
{
"slug": "<string>",
"kind": "enum",
"values": [
"<string>"
]
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"troubleshoot": "<string>"
}
