Create a Trigger
Set up automatic workflow execution using schedule or webhook triggers. Schedule triggers fire on a recurring cron schedule; webhook triggers fire when an external system sends an HTTP POST to a unique URL.
Prerequisites
- A workflow with at least one stage and agent assignments (see Add Stages)
- The workflow must not have "Awaits User Input" enabled (triggers cannot prompt for input)
Create a Schedule Trigger
Schedule triggers fire at recurring intervals defined by a cron expression or natural language description.
1. Open the Runs & Triggers tab
Navigate to your workflow and click the Runs & Triggers tab (tab 2). The top section shows trigger cards; the bottom section shows run history.

2. Click "New Trigger"
Click the New Trigger button and select Cron Schedule as the trigger type. A new trigger card appears with a form to configure the schedule.
3. Name the trigger
Give the trigger a descriptive name that reflects its schedule purpose (e.g., "Daily Morning Run", "Weekly Report", "Hourly Check").
4. Enter a schedule
Type a schedule in the Schedule field. You can use either format:
Natural language:
every day at 9amevery Monday at 2:30pmevery 6 hoursfirst day of the month at midnight
Cron expressions:
0 9 * * *(daily at 9:00 AM)0 14 * * 1(Mondays at 2:00 PM)0 */6 * * *(every 6 hours)0 0 1 * *(first of the month at midnight)
ORQO uses the Fugit parser, which understands both natural language descriptions and standard cron syntax.
Natural language schedules are converted to cron expressions automatically. The original description is preserved and displayed alongside the cron expression for readability.
5. Set the timezone
Select a timezone from the dropdown. The trigger fires according to the selected timezone. Defaults to UTC if not specified.
6. Set optional date bounds
You can constrain when the trigger is active:
- Starts at -- The trigger does not fire before this date/time
- Ends at -- The trigger stops firing after this date/time
Leave both blank for an indefinitely recurring trigger.
7. Enable the trigger
Toggle the Enabled switch to activate the trigger. Disabled triggers are saved but do not fire.
Enabling a trigger on a workflow that has "Awaits User Input" turned on will fail validation. Disable user input prompting on the workflow first, or use manual runs for workflows that need task descriptions.
8. Save the trigger
Click Save. The trigger card updates to show the human-readable schedule, timezone, next fire time, and enabled status.
Common schedule patterns
| Schedule | Cron | Use case |
|---|---|---|
every day at 9am | 0 9 * * * | Daily reports, morning digests |
every hour | 0 * * * * | Monitoring, polling checks |
every Monday at 8am | 0 8 * * 1 | Weekly summaries |
every 15 minutes | */15 * * * * | Frequent data syncs |
first day of the month | 0 0 1 * * | Monthly aggregations |
Create a Webhook Trigger
Webhook triggers give your workflow a unique URL that external systems can POST to.
1. Open the Runs & Triggers tab
Navigate to your workflow and click the Runs & Triggers tab.
2. Click "New Trigger"
Click the New Trigger button and select Webhook as the trigger type.
3. Name the trigger
Give the trigger a descriptive name that reflects its purpose (e.g., "GitHub Push", "Email Inbound", "Zapier Trigger").
4. Save the trigger
Click Save. ORQO generates a unique webhook URL and displays it on the trigger card. The URL looks like:
https://your-orqo-domain.com/api/v1/hooks/Kx7mP2qR...43-char-token
5. Copy the webhook URL
Click the copy button next to the URL to copy it to your clipboard.
6. Register the URL with the external system
Paste the webhook URL into the external service's webhook or notification settings. For example:
GitHub:
- Go to your repository's Settings > Webhooks > Add webhook.
- Paste the webhook URL as the Payload URL.
- Set content type to
application/json. - Choose which events should trigger the webhook.
Zapier:
- Create a new Zap with a trigger step.
- Add an action step using the Webhooks by Zapier app.
- Choose POST and paste the webhook URL.
- Configure the request body with the data you want to send.
CI/CD pipeline (GitHub Actions example):
- name: Notify ORQO
run: |
curl -X POST "${{ secrets.ORQO_WEBHOOK_URL }}" \
-H "Content-Type: application/json" \
-d '{"event": "build_complete", "status": "${{ job.status }}"}'
7. Test the webhook
Send a test POST to verify the integration:
curl -X POST https://your-orqo-domain.com/api/v1/hooks/YOUR_TOKEN \
-H "Content-Type: application/json" \
-d '{"test": true, "message": "Hello from curl"}'
A successful response returns:
{
"workflow_run_id": 42,
"session_id": "sess_abc123",
"status": "started"
}
Check the Runs & Triggers tab to see the new workflow run appear in the run history.
8. Enable or disable
Use the toggle on the trigger card to enable or disable the webhook. Disabled webhooks reject incoming requests with a 409 Conflict response.
Treat webhook URLs like secrets. Anyone with the URL can fire your workflow. If a URL is compromised, delete the trigger and create a new one.
Visual Builder: Drag-and-Drop
In the Visual Builder, you can also create triggers by dragging from the sidebar palette:
- Switch to the Visual tab.
- In the sidebar palette, find the Triggers section.
- Drag a Cron Schedule or Webhook card onto the canvas.
- The trigger drawer opens for configuration.
Trigger nodes appear at the top of the canvas connected to the first stage via dashed links.
What's next
- Run a Workflow to test the workflow manually before enabling the trigger
- Monitor Runs to review trigger-initiated runs
- Schedule Workflows for advanced scheduling patterns