Skip to main content
Core Concepts

Triggers

Automate Project execution with webhooks, schedules, and events

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:

https://app.triform.ai/api/in/31460071-17aa-43e8-a0e6-fb22984c0bdc/26420f15-2143-443f-bca9-45c5b0720784

This is an API-call that would trigger a certain flow with the {"event": "payment.success", "amount": 99.99, "customer_id": "cust_123"} payload:

curl -X POST 'https://app.triform.ai/api/in/31460071-17aa-43e8-a0e6-fb22984c0bdc/26420f15-2143-443f-bca9-45c5b0720784' \  --header 'Authorization: 88ffe8398f972837ccc6e0a6cd31c5c92689040c' \  --header 'Content-Type: application/json' \  --data '{"event": "payment.success", "amount": 99.99, "customer_id": "cust_123"}'

Your Project receives:

{  "event_type": "payment.success",  "amount": 99.99,  "customer_id": "cust_123",  "received_at": "2025-10-01T10:30:00Z"}

Cron Triggers (Schedule)

Execute at specific times or intervals using native cron scheduling.

Use cases:

  • Daily reports and summaries
  • Periodic data sync and ETL jobs
  • Cleanup and maintenance tasks
  • Monitoring and health checks
  • Scheduled notifications

Key Features:

  • Native cron support — Full cron expression syntax
  • Timezone-aware — Schedule in your local timezone
  • Reliable execution — Built-in monitoring and logging
  • Payload mapping — Pass context data to scheduled runs

Setup:

  1. Go to Project → Triggers
  2. Click Add Trigger → Cron
  3. Configure:
    • Cron expression: 0 6 * * * (daily at 6 AM)
    • Timezone: Select your timezone
    • Payload: Define static or dynamic input data
  4. Save — Trigger is active immediately

Schedule types:

TypeCron ExpressionDescription
Every minute* * * * *Runs every minute
Every 15 min*/15 * * * *Runs at :00, :15, :30, :45
Hourly0 * * * *Top of each hour
Daily at 6 AM0 6 * * *Every day at 6:00 AM
Daily at 9 AM0 9 * * *Every day at 9:00 AM
Weekdays 9 AM0 9 * * 1-5Monday-Friday at 9:00 AM
Weekly Monday0 8 * * 1Every Monday at 8:00 AM
Monthly 1st0 0 1 * *First of each month at midnight
Quarterly0 0 1 1,4,7,10 *First day of each quarter

Cron expression format:

* * * * *│ │ │ │ ││ │ │ │ └─── Day of week (0-7, 0=Sunday)│ │ │ └───── Month (1-12)│ │ └─────── Day of month (1-31)│ └───────── Hour (0-23)└─────────── Minute (0-59)

Common patterns:

  • 0 * * * * — Every hour
  • */15 * * * * — Every 15 minutes
  • 0 9 * * 1-5 — Weekdays at 9 AM
  • 0 0 1 * * — First of each month
  • 0 6,18 * * * — Twice daily at 6 AM and 6 PM
  • 0 0 * * 0 — Weekly on Sunday at midnight

Cron Logging & Monitoring:

All cron executions are logged with:

  • Scheduled time vs actual execution time
  • Execution duration and status
  • Payload data sent to the flow
  • Any errors or warnings

View cron execution history in the Executions Dashboard.

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:

{  "source": "scheduled_job",  "timestamp": "{{now}}"}

Dynamic payload from webhook:

{  "event_type": "{{webhook.event}}",  "data": "{{webhook.body}}",  "headers": "{{webhook.headers}}"}

Using variables:

{  "api_key": "{{global.API_KEY}}",  "environment": "{{global.ENV}}"}

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:

This is an API-call that would trigger a certain flow with the {"data": "value"} payload:

curl -X POST 'https://app.triform.ai/api/in/31460071-17aa-43e8-a0e6-fb22984c0bdc/26420f15-2143-443f-bca9-45c5b0720784' \  --header 'Authorization: 88ffe8398f972837ccc6e0a6cd31c5c92689040c' \  --header 'Content-Type: application/json' \  --data '{"data": "value"}'

Configuration:

  1. Enable API key authentication
  2. Provide key to webhook sender
  3. Triform validates before execution

Common patterns

Pattern 1: Webhook → Process → Notify

Webhook receives event  → Validate and transform  → Process data  → Send notification

Example: Payment received → Update database → Email customer

Pattern 2: Schedule → Fetch → Process → Store

Daily at 6 AM  → Fetch data from APIs  → Process and analyze  → Store results

Example: Daily report generation

Pattern 3: Event chain

Project A completes  → Triggers Project B  → Triggers Project C

Example: Onboarding flow: Create account → Send welcome → Provision services

Pattern 4: Error handling

Project fails  → Event trigger fires  → Error logger Project executes  → Alert sent to team

Example: Automated incident response

Troubleshooting

Problem: Webhook not triggeringSolution: Check URL is correct, authentication is valid, check logs for rejected requests

Problem: Schedule not runningSolution: Verify cron expression, check timezone, ensure trigger is not paused

Problem: Trigger fires but execution failsSolution: Check payload format, verify required fields, review execution logs

Next steps

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

Was this helpful?

Still need help? Ask the team