Skip to main content

What are Triggers?

Triggers automatically execute your Projects in response to events, without manual intervention. Instead of clicking β€œExecute” every time, set up Triggers to run your Projects when specific conditions are met.

Types of Triggers

Webhook Triggers

Execute when an HTTP request hits your webhook endpoint. Use cases:
  • Payment notifications (Stripe, PayPal)
  • GitHub events (push, PR, issue)
  • Form submissions
  • Third-party service events
Setup:
  1. Go to Project β†’ Triggers
  2. Click Add Trigger β†’ Webhook
  3. Configure:
    • Path: /webhook/payment-received
    • Authentication: API key or HMAC signature
    • Payload transformation (if needed)
  4. Save β†’ Get webhook URL
  5. Register URL with external service
Example URL:
Incoming webhook:
Your Project receives:

Schedule Triggers

Execute at specific times or intervals. Use cases:
  • Daily reports
  • Periodic data sync
  • Cleanup jobs
  • Monitoring checks
Setup:
  1. Go to Project β†’ Triggers
  2. Click Add Trigger β†’ Schedule
  3. Configure schedule:
    • Cron expression: 0 6 * * * (daily at 6 AM)
    • Interval: Every 15 minutes
    • One-time: Specific date/time
  4. Set timezone
  5. Define payload (static or dynamic)
  6. Save
Schedule types: Cron expression format:
Common patterns:
  • 0 * * * * β€” Every hour
  • */15 * * * * β€” Every 15 minutes
  • 0 9 * * 1-5 β€” Weekdays at 9 AM
  • 0 0 1 * * β€” First of each month

Manual Triggers

Execute via Execution button. Use cases:
  • On-demand processing
  • Admin actions
  • Testing
  • User-initiated workflows

Viewing Triggers

  1. Go to Project β†’ Executions
  2. See list of all triggers:
    • Type (webhook, schedule)

Editing Triggers

  1. Select trigger from list
  2. Click Edit
  3. Modify configuration
  4. Save β†’ Changes take effect immediately
Note: Schedule changes apply to future executions, not currently running ones.

Deleting Triggers

Permanently remove a trigger:
  1. Select trigger
  2. Click Delete
  3. Confirm
  4. Trigger is removed
Warning: Cannot be undone. Webhook URLs will stop working.

Trigger configuration

Payload

Define what data the triggered execution receives. Static payload:
Dynamic payload from webhook:
Using variables:

Timeout

Set maximum execution time:
  • Default: 60 seconds
  • Max: 15 minutes (Pro), 60 minutes (Enterprise)
If timeout reached:
  • Execution is canceled
  • Error logged
  • Retry policy applies (if configured)

Webhook authentication

Secure your webhook endpoints.

API Key

Require API key in header:
Configuration:
  1. Enable API key authentication
  2. Provide key to webhook sender
  3. Triform validates before execution

Common patterns

Pattern 1: Webhook β†’ Process β†’ Notify

Example: Payment received β†’ Update database β†’ Email customer

Pattern 2: Schedule β†’ Fetch β†’ Process β†’ Store

Example: Daily report generation

Pattern 3: Event chain

Example: Onboarding flow: Create account β†’ Send welcome β†’ Provision services

Pattern 4: Error handling

Example: Automated incident response

Troubleshooting

Problem: Webhook not triggering
Solution: Check URL is correct, authentication is valid, check logs for rejected requests
Problem: Schedule not running
Solution: Verify cron expression, check timezone, ensure trigger is not paused
Problem: Trigger fires but execution fails
Solution: Check payload format, verify required fields, review execution logs

Next steps

Continue exploring the documentation to learn about Executions and webhook configuration.