Running Albato Triggers and Actions via API (beta)

This documentation provides a step-by-step guide on how to run a partner’s API trigger or action once using Albato’s Universal API.

⚠️

Beta Version: This API is currently available in beta. Please note that some features may change or be updated after the pilot program.

Table of Contents

  1. Overview
  2. Step Sequence
  3. General Information
  4. Step 1. Get Partner List
  5. Step 2. Create Partner Connection
  6. Step 3. Get Triggers and Actions
  7. Step 4. Get Trigger/Action Field Schema
  8. Step 5. Run Trigger or Action

Overview

Albato’s Universal API allows you to launch API triggers and actions of any partner without creating a permanent automation. This guide describes how to perform a one-time execution.

Important Limitation: Universal API only supports working with actions, tools, and API triggers. Webhook triggers are not supported at this time.


Step Sequence

To run a one-time execution of a partner’s API trigger or action:

  1. Request the list of Albato partners and get the required partnerId.
  2. Create a connection for the selected partner.
  3. Request the list of triggers and actions and get the required triggerActionId.
  4. Request the field schema for the trigger/action.
  5. Send a request to run the trigger/action.

General Information

  • All requests must use the master account token.

    Obtain an authToken using the user's email and password.

    Request:

    POST https://uapi.albato.com/user/auth
  • Contact your Albato manager to set up a master account.

Endpoint for getting an auth token

Step 1. Get Partner List

Goal: Find the required partner and get its partnerId.

Request:

GET /partners/info

Supports filtering by partner name.

Recommendations:

  • Use a name filter: filter[title][like].
  • Filter out deprecated partners — they are no longer supported.

Result: You receive the partnerId (e.g., HubSpot).

Endpoint to get partner list

Step 2. Create Partner Connection

Goal: Create a connection to the partner and obtain credentialId.

Recommendation: The easiest way is to create the connection via a link. Complete all required steps and save the credentialId.

How to create a connection via link

Step 3. Get Triggers and Actions

Goal: Select the required trigger/action and obtain its triggerActionId.

Request:

GET /partners/trigger-actions/info

Filters:

  • partnerId (from Step 1).
  • isAction (to get only triggers or only actions).

Result: A list of available triggers/actions with triggerActionId. Select and save the needed one (e.g., Create new Contact).

Endpoint to get partner trigger/action list

Step 4. Get Trigger/Action Field Schema

Goal: Get the variable descriptions for the trigger/action.

Request:

POST /partners/trigger-actions/{triggerActionId}/run/info

Result: The response contains triggerAction object with:

  • variables — list of top-level variables.
  • rowSections — sections with arrays of objects.
Endpoint to get trigger/action schema

Interpreting the Schema

  • Variable type is defined by type.

  • Possible type values:

    ValueType
    1String
    2Integer
    3Decimal
    4Boolean
    5DateTime (unix time stamp)
    6Phone
    7File
    8Date
    9Nullable Boolean
    100+nArray, element type n
  • isEditable: only these fields can be used in request payload (runnerData).

  • isRequired: must be filled.

  • data[]: dictionary of acceptable values.

Sample Schema Response (fragment):

{
  "triggerAction": {
    "variables": [
      {
        "type": 1,
        "name": "name",
        "label": "The name",
        "isRequired": true,
        "isEditable": true
      },
      {
        "type": 1,
        "name": "visible_to",
        "label": "Visibility - ID",
        "isEditable": true,
        "data": [
          {
            "key": "1",
            "label": "Owner & followers"
          },
          {
            "key": "3",
            "label": "Entire company"
          }
        ]
      }
    ],
    "rowSections": [
      {
        "name": "email",
        "label": "Emails",
        "variables": [
          {
            "type": 1,
            "name": "value",
            "label": "Email",
            "isEditable": true
          },
          {
            "type": 1,
            "name": "label",
            "label": "Email type - ID",
            "isEditable": true,
            "data": [
              {
                "key": "work",
                "label": "Work"
              },
              {
                "key": "home",
                "label": "Home"
              }
            ]
          }
        ]
      }
    ]
  }
}

Building credentialData

credentialData stores connection data:

  • Position "0" = your credentialId.

Example:

{
  "credentialData": {
    "0": { "value": 12345 }
  }
}

Building runnerData

runnerData stores the launch data. Keys = schema variable names.

Without rowSections:

{
  "runnerData": {
    "name": "Demo Person",
    "visible_to": "3",
    "cf__custom_field_1": "Value for field 1"
  }
}

With rowSections:

{
  "runnerData": {
    "email": [
      { "value": "[email protected]", "label": "work", "primary": "1" }
    ],
    "phone": [
      { "value_": "777-777-7777", "label_": "work", "primary_": "0" }
    ]
  }
}

Step 5. Run Trigger or Action

Goal: Execute the selected trigger/action with payload.

Execution modes:

  • Sync: /partners/trigger-actions/:triggerActionId/run/sync
  • Async: /partners/trigger-actions/:triggerActionId/run/async

Parameters:

  • triggerActionId (from Step 3).
  • credentialId (from Step 2).
  • Only editable variables (see schema in Step 4).

Example Payload:

{
  "credentialData": {
    "0": { "value": 12345 }
  },
  "runnerData": {
    "name": "Demo Person",
    "visible_to": "3",
    "cf__custom_field_1": "Value 1",
    "cf__custom_field_2": "Value 2",
    "email": [
      { "value": "[email protected]", "label": "work", "primary": "1" }
    ],
    "phone": [
      { "value_": "777-777-7777", "label_": "work", "primary_": "0" }
    ]
  }
}
Endpoint to run trigger or action synchronously