Skip to content
Go to Micro

Read a triggered automation

client.TriggeredAutomations.Get(ctx, automationObjectType, automationID, query) (*TriggeredAutomation, error)
GET/v2/prism/{teamId}/{automationObjectType}/triggered_automations/{automationId}

Read a triggered automation

ParametersExpand Collapse

Object types that support triggered automations. Must match the triggered-automation whitelist in @micro/database migrate-sql (TRIGGERED_AUTOMATION_OBJECTS).

One of the following:
const TriggeredAutomationGetParamsAutomationObjectTypeMessage TriggeredAutomationGetParamsAutomationObjectType = "message"
const TriggeredAutomationGetParamsAutomationObjectTypeAction TriggeredAutomationGetParamsAutomationObjectType = "action"
const TriggeredAutomationGetParamsAutomationObjectTypeEvent TriggeredAutomationGetParamsAutomationObjectType = "event"
const TriggeredAutomationGetParamsAutomationObjectTypeDocument TriggeredAutomationGetParamsAutomationObjectType = "document"
const TriggeredAutomationGetParamsAutomationObjectTypeIdentity TriggeredAutomationGetParamsAutomationObjectType = "identity"
const TriggeredAutomationGetParamsAutomationObjectTypeLinkedinMessage TriggeredAutomationGetParamsAutomationObjectType = "linkedin_message"
const TriggeredAutomationGetParamsAutomationObjectTypeDeal TriggeredAutomationGetParamsAutomationObjectType = "deal"
const TriggeredAutomationGetParamsAutomationObjectTypeOrganization TriggeredAutomationGetParamsAutomationObjectType = "organization"
const TriggeredAutomationGetParamsAutomationObjectTypeContact TriggeredAutomationGetParamsAutomationObjectType = "contact"
automationID string
formatuuid
query TriggeredAutomationGetParams
TeamID param.Field[string]Optional
formatuuid
ReturnsExpand Collapse
type TriggeredAutomation struct{…}

A triggered automation. kind selects the shape: update fires on object updates and requires a changeset (from/to transition) filter plus an optional state precondition; lifecycle fires on create and/or delete (on_create/on_delete) and requires a state filter (no changeset). state permits dot-paths (nested reference filters); changeset is direct properties only. Object type is taken from the path.

Kind TriggeredAutomationKind
One of the following:
const TriggeredAutomationKindUpdate TriggeredAutomationKind = "update"
const TriggeredAutomationKindLifecycle TriggeredAutomationKind = "lifecycle"
Name string
ID stringOptional
formatuuid
Actions []TriggeredAutomationActionOptional

Actions to run when the automation fires; each item has a type plus type-specific fields.

Type TriggeredAutomationActionsType
One of the following:
const TriggeredAutomationActionsTypeAgent TriggeredAutomationActionsType = "agent"
const TriggeredAutomationActionsTypeWebhook TriggeredAutomationActionsType = "webhook"
const TriggeredAutomationActionsTypeWait TriggeredAutomationActionsType = "wait"
const TriggeredAutomationActionsTypeEmail TriggeredAutomationActionsType = "email"
const TriggeredAutomationActionsTypeLinkedin TriggeredAutomationActionsType = "linkedin"
AgentID stringOptional

Required when type is agent. The agent to run.

formatuuid
CronExpression stringOptional

wait: cron schedule for the resume time. Exactly one of delay_seconds or cron_expression.

DelaySeconds int64Optional

wait: relative delay in seconds. Exactly one of delay_seconds or cron_expression.

RecipientEmailPropDefID stringOptional

Required when type is email. The property (on the recipient view object) holding the recipient email address.

formatuuid
RecipientProviderPropDefID stringOptional

Required when type is linkedin. The property (on the recipient view object) holding the recipient LinkedIn provider id.

formatuuid
RecipientViewID stringOptional

Required when type is email or linkedin. The saved prism view resolved at send time to the recipient audience (its filter re-runs each step, so responders drop out of later drip sends).

formatuuid
RecipientViewObjectType stringOptional

Required when type is email or linkedin. Must be contact — the recipient audience is a contact view (contacts carry the direct email / linkedin provider property).

SendAsUserID stringOptional

Required when type is email or linkedin. The user (external id) the message is sent as.

Subject stringOptional

Required when type is email. The subject line; rendered as a Liquid template per recipient.

TemplateID stringOptional

Required when type is email or linkedin. The email-template document whose body is rendered (Liquid) per recipient.

formatuuid
Timezone stringOptional

wait: IANA timezone for evaluating cron_expression (optional).

WebhookID stringOptional

Required when type is webhook. The id of the webhook the event is dispatched to (async) when the automation fires.

formatuuid
Changeset TriggeredAutomationChangesetOptional

A changeset filter group (update automations only): a combinator plus an array of transition clauses matching what is changing. Dot-paths (nested reference filters) are NOT permitted — direct properties only.

Combinator TriggeredAutomationChangesetCombinatorOptional
One of the following:
const TriggeredAutomationChangesetCombinatorAnd TriggeredAutomationChangesetCombinator = "AND"
const TriggeredAutomationChangesetCombinatorOr TriggeredAutomationChangesetCombinator = "OR"
Filter []map[string, unknown]Optional

Each entry is a transition clause { slug: { from?: { comparator: value }, to?: { comparator: value } } }. from matches the prior value, to the new value; an empty body { slug: {} } matches any change to that property.

CreatedAt stringOptional
Enabled boolOptional
ListID stringOptional
formatuuid
OnCreate boolOptional

Lifecycle automations only.

OnDelete boolOptional

Lifecycle automations only.

State TriggeredAutomationStateOptional

A filter group: a combinator plus an array of slug-based clauses. Dot-paths (e.g. organization.location) express nested reference filters.

Combinator TriggeredAutomationStateCombinatorOptional
One of the following:
const TriggeredAutomationStateCombinatorAnd TriggeredAutomationStateCombinator = "AND"
const TriggeredAutomationStateCombinatorOr TriggeredAutomationStateCombinator = "OR"
Filter []map[string, unknown]Optional

Each entry is { slug: { comparator: value } }

TeamID stringOptional
formatuuid
UpdatedAt stringOptional
UserID stringOptional

Read a triggered automation

package main

import (
  "context"
  "fmt"

  "github.com/micro-so/micro-sdk-go"
  "github.com/micro-so/micro-sdk-go/option"
)

func main() {
  client := micro.NewClient(
    option.WithAPIKey("My API Key"),
    option.WithTeamID("My Team ID"),
  )
  triggeredAutomation, err := client.TriggeredAutomations.Get(
    context.TODO(),
    micro.TriggeredAutomationGetParamsAutomationObjectTypeMessage,
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    micro.TriggeredAutomationGetParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", triggeredAutomation.ID)
}
{
  "kind": "update",
  "name": "name",
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "actions": [
    {
      "type": "agent",
      "agent_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "cron_expression": "cron_expression",
      "delay_seconds": 0,
      "recipient_email_prop_def_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "recipient_provider_prop_def_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "recipient_view_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "recipient_view_object_type": "recipient_view_object_type",
      "send_as_user_id": "send_as_user_id",
      "subject": "subject",
      "template_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "timezone": "timezone",
      "webhook_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
    }
  ],
  "changeset": {
    "combinator": "AND",
    "filter": [
      {
        "foo": "bar"
      }
    ]
  },
  "created_at": "created_at",
  "enabled": true,
  "list_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "on_create": true,
  "on_delete": true,
  "state": {
    "combinator": "AND",
    "filter": [
      {
        "foo": "bar"
      }
    ]
  },
  "team_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "updated_at": "updated_at",
  "user_id": "user_id"
}
Returns Examples
{
  "kind": "update",
  "name": "name",
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "actions": [
    {
      "type": "agent",
      "agent_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "cron_expression": "cron_expression",
      "delay_seconds": 0,
      "recipient_email_prop_def_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "recipient_provider_prop_def_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "recipient_view_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "recipient_view_object_type": "recipient_view_object_type",
      "send_as_user_id": "send_as_user_id",
      "subject": "subject",
      "template_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "timezone": "timezone",
      "webhook_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
    }
  ],
  "changeset": {
    "combinator": "AND",
    "filter": [
      {
        "foo": "bar"
      }
    ]
  },
  "created_at": "created_at",
  "enabled": true,
  "list_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "on_create": true,
  "on_delete": true,
  "state": {
    "combinator": "AND",
    "filter": [
      {
        "foo": "bar"
      }
    ]
  },
  "team_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "updated_at": "updated_at",
  "user_id": "user_id"
}