Automation

Actions

Execute HTTP requests, send emails, query databases, and transform data.

Actions

Actions are the building blocks of workflows that perform specific operations. Connect multiple actions to build complex automated processes.

Action Types

HTTP Action

Make requests to external APIs:

Type: HTTP
Method: POST
URL: https://api.example.com/endpoint
Headers:
  Authorization: Bearer {{secrets.api_key}}
  Content-Type: application/json
Body: |
  {
    "order_id": "{{trigger.entity.id}}",
    "status": "confirmed"
  }
Timeout: 30000

Properties:

PropertyDescription
MethodGET, POST, PUT, DELETE, PATCH
URLTarget endpoint with variables
HeadersRequest headers
BodyRequest body (for POST/PUT)
TimeoutMax wait time in milliseconds

Use cases:

  • Send data to external systems
  • Call third-party APIs
  • Webhook notifications

Email Action

Send email notifications:

Type: Email
To: [email protected]
Subject: Order {{order.number}} Confirmed
Body: |
  Dear Customer,

  Your order has been confirmed.

  Order Number: {{order.number}}
  Total: {{order.total}}

Properties:

PropertyDescription
ToRecipient email address
SubjectEmail subject line
BodyEmail content

Use cases:

  • Order confirmations
  • Alert notifications
  • Status updates

Database Action

Execute SQL operations:

Type: Database
Operation: select
Query: SELECT * FROM products WHERE id = {{input.product_id}}

Operations:

OperationDescription
selectQuery data
insertAdd new records
updateModify existing records
deleteRemove records
rawExecute custom SQL

Use cases:

  • Query data for processing
  • Update records based on events
  • Data synchronization

Transform Action

Transform and map data:

Type: Transform
Expression: |
  {
    "customer_name": {{order.customer.name}},
    "items": {{order.items}},
    "total": {{order.total}}
  }

Use cases:

  • Reshape data between steps
  • Extract specific fields
  • Prepare data for external systems

Log Action

Log information for debugging:

Type: Log
Level: info
Message: Processing order {{order.number}}

Log levels:

LevelUse
debugDetailed debugging
infoGeneral information
warnWarning conditions
errorError conditions

Use cases:

  • Debugging workflows
  • Audit logging
  • Progress tracking

Delay Action

Pause workflow execution:

Type: Delay
Duration: 5000

Properties:

PropertyDescription
DurationWait time in milliseconds

Use cases:

  • Rate limiting API calls
  • Waiting for external processes
  • Timed sequences

Connecting Actions

Sequential Execution

Actions execute in order when connected:

Trigger → Action 1 → Action 2 → Action 3

Branching

Use conditions to create branches:

Trigger → Condition
           ├── True → Action A
           └── False → Action B

Using Variables

Template Syntax

Access data using double braces:

{{variable.path.to.value}}

Data Sources

SourceSyntax
Trigger data{{trigger.data.field}}
Previous step{{steps.stepName.output.field}}
Entity data{{trigger.entity.fieldName}}

Examples

Email body: "Order {{trigger.entity.order_number}} created"
HTTP body: {"id": "{{steps.query.output.id}}"}
URL: "https://api.example.com/orders/{{trigger.entity.id}}"

Error Handling

Action Failures

When an action fails:

  • Error is logged
  • Workflow may stop or continue (configurable)
  • Execution marked as failed

Best Practices

  • Add log actions for debugging
  • Use timeouts for HTTP actions
  • Validate data before processing
  • Handle edge cases with conditions