Skip to main content

Discovery

Internal beta — not released yet

The Automation API is an internal beta and is not released yet. Its endpoints and payloads are not final and may change or be withdrawn at any time without notice.

The discovery endpoints publish the live catalog an automation is built from — the trigger types, action types and filter operators, each with the config it accepts. Build against these rather than hard-coding the vocabulary: new types appear here without a change to this API.

No workspace scope

Unlike the rest of the resource, the discovery endpoints accept a valid API key of either kind (user or automation) and carry no workspace scope — the catalog is the same for everyone. All three responses (trigger, action and filter) are cacheable for an hour (Cache-Control: public, max-age=3600, set on the successful 200). Each costs 1x base credits.

List trigger types

GEThttps://api.tapeapp.com/v1/automation/meta/trigger
➡️ Request
curl https://api.tapeapp.com/v1/automation/meta/trigger -u user_key_replace_with_your_api_key:
⬅️ Response
{
"triggers": [
{
"type": "record_created",
"label": "Record created",
"description": "Triggers when a record is created in the app.",
"config_schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}
]
}

Each entry is { type, label, description?, config_schema }. See the trigger types.

List action types

GEThttps://api.tapeapp.com/v1/automation/meta/action
➡️ Request
curl https://api.tapeapp.com/v1/automation/meta/action -u user_key_replace_with_your_api_key:

Each entry is { type, group, label, description?, config_schema }, where group is action or control_flow. See the action types.

List filter operators

GEThttps://api.tapeapp.com/v1/automation/meta/filter?field_type={field_type}

Returns the operators available for one field type (they differ per type). field_type is required — an absent or unknown value returns 400.

➡️ Request
curl "https://api.tapeapp.com/v1/automation/meta/filter?field_type=number" -u user_key_replace_with_your_api_key:
⬅️ Response
{
"field_type": "number",
"operators": [
{ "operator": "is", "label": "Is", "value_arity": "single" },
{ "operator": "greater_than", "label": "Greater than", "value_arity": "single" },
{ "operator": "is_empty", "label": "Is empty", "value_arity": "none" }
]
}

Each entry is { operator, label, description?, value_arity }. See Filters for the full operator set and the tagged value union.