Triggers
> Triggers define how a route gets activated -- by a schedule, a webhook, a form submission, or an event from an external service.
Every route has a Start Node where you configure one or more triggers. When any trigger fires, the flow executes with the event data available as context.
Trigger types
Brickr supports six trigger types:
| Trigger | Source | Use case | |---------|--------|----------| | Cron | Timer | Scheduled tasks, periodic syncing | | Webhook | HTTP POST | External service callbacks | | Form Submission | Brickr form | User-submitted data processing | | Slack Events | Slack workspace | Respond to messages, reactions, mentions | | Discord Events | Discord server | Respond to messages, mentions, reactions | | GitHub Events | GitHub repository | Respond to pushes, PRs, issues |
Cron
Runs the route on a recurring schedule using a cron expression.
Configuration:
- Expression -- Standard five-field cron expression (e.g.
*/5 * * * *for every 5 minutes), or pick from presets - Timezone -- All times are UTC by default
- Max Executions -- Optional limit on total runs
See Cron Jobs for full details on cron expressions and use cases.
Webhook
Provides a unique URL that triggers the route when it receives an HTTP POST request.
Configuration:
- The webhook URL is generated automatically when you add the trigger
- Any JSON body sent to the URL is available as input data in the flow
See Webhooks for setup instructions and payload handling.
Form Submission
Triggers the route when a Brickr form is submitted.
Configuration:
- Form -- Select which form should trigger this route
The submitted form data is passed into the flow as context. See Form Triggers for details.
Slack Events
Triggers the route when specific events occur in a connected Slack workspace.
Configuration:
- Connection -- Select a Slack integration from Dashboard > Settings > Integrations in the current workspace
- Channel -- Optionally filter to a specific channel (uses the
SlackChanneldynamic enum) - Event Type -- Choose which event fires the trigger:
| Event | Description | |-------|-------------| | message | A message is posted in a channel | | app_mention | Your Slack app is mentioned with @mention | | reaction_added | A reaction emoji is added to a message | | member_joined_channel | A user joins a channel | | file_shared | A file is shared in a channel |
Context data available in the flow:
| Field | Type | Description | |-------|------|-------------| | event-type | string | The Slack event type | | user-id | string | ID of the user who triggered the event | | channel-id | string | Channel where the event occurred | | text | string | Message text (for message events) | | timestamp | string | Slack event timestamp | | team-id | string | Slack team/workspace ID | | payload | object | Full raw event payload (SlackEvent structure) |
See Slack Integration for connection setup and available Slack nodes.
Discord Events
Triggers the route when events occur in a connected Discord server.
Configuration:
- Connection -- Select a Discord integration from Dashboard > Settings > Integrations in the current workspace
- Channel ID -- Optionally filter to a specific channel (enter the Discord channel ID)
- Event checkboxes:
| Event | Description | |-------|-------------| | Messages | A message is posted | | Mentions | Your bot is mentioned | | Reactions | A reaction is added to a message |
Context data available in the flow:
| Field | Type | Description | |-------|------|-------------| | id | string | Message/event ID | | content | string | Message content | | channel_id | string | Discord channel ID | | guild_id | string | Discord server (guild) ID | | timestamp | string | Event timestamp |
The full payload follows the DiscordEvent structure.
GitHub Events
Triggers the route when events occur on a connected GitHub repository.
Configuration:
- Connection -- Select a GitHub integration from Dashboard > Settings > Integrations
- Repository URL -- The GitHub repo to watch (e.g.
https://github.com/owner/repo) - Event checkboxes:
| Event | Description | |-------|-------------| | Push | Code is pushed to the repository | | Pull Request | A PR is opened, closed, merged, or updated | | Issues | An issue is opened, closed, or edited |
Context data available in the flow:
| Field | Type | Description | |-------|------|-------------| | action | string | Event action (e.g. opened, closed, synchronize) | | ref | string | Git ref (branch/tag) for push events | | sender | object | GitHub user who triggered the event (GitHubUser structure) | | repository | object | Repository metadata (GitHubRepository structure) |
The full payload follows the GitHubEvent structure.
Multiple triggers
A single route can have multiple triggers. For example, you might combine a cron trigger for periodic syncing with a webhook trigger for on-demand execution. When any trigger fires, the same flow runs.
What's next?
| Topic | Description | |-------|-------------| | Slack Integration | Full Slack setup, nodes, and events | | Shopify Integration | Shopify nodes and API modes | | Cron Jobs | Schedule routes on a timer | | Webhooks | Trigger routes via HTTP | | Form Triggers | Trigger routes from form submissions |