Scheduling & Triggers¶
Workflows can be triggered manually, on a schedule, via webhook, or via an event trigger from a connected service. You can also start runs programmatically through the Developer API.
Reactive vs Scheduled¶
A scheduled workflow checks for work on a timetable that you define. That is the right fit for recurring jobs, reports, clean-up tasks, and polling flows where the upstream service does not offer the event you need.
An event-triggered workflow works differently. GloriaMundo subscribes to the connected service and runs the workflow when that service emits the matching event. That removes polling delay and avoids waking the workflow when nothing has changed.
If the service already supports the event you care about, use an event trigger. If it does not, use a scheduled workflow instead.
Scheduled Triggers (Cron)¶
Schedule workflows to run automatically at specific times.
Setting Up a Schedule¶
When creating or editing a workflow, specify a cron trigger:
"Run this every weekday at 9am London time" "Run every Monday and Thursday at 2pm"
GloriaMundo converts natural language scheduling into cron expressions automatically.
Configuration¶
- Time — When the workflow should run (e.g., 9:00 AM)
- Timezone — Your local timezone (e.g., Europe/London)
- Days — Which days to run (daily, weekdays, specific days)
The schedule is stored as a cron expression with timezone (e.g., 0 9 * * 1-5|Europe/London).
Minimum Interval¶
Scheduled workflows must run at least 5 minutes apart. Shorter intervals are rejected to prevent overlapping runs and excessive API usage.
Activating a Schedule¶
After previewing a scheduled workflow with Virtual Run, click Schedule in the toolbar to activate it. The workflow will run automatically at the specified times.
Disabling a Schedule¶
Disable a workflow from the Workflows dashboard to stop scheduled runs without deleting the workflow. Re-enable it at any time.
Webhook Triggers¶
Trigger workflows via HTTP POST requests from external systems.
Setting Up a Webhook¶
When you create a workflow with a webhook trigger, GloriaMundo generates a unique webhook URL:
Sending a Webhook Request¶
Send a POST request to your webhook URL with a JSON payload:
curl -X POST https://app.gloriamundo.com/webhook/<workflow_id> \
-H "Content-Type: application/json" \
-H "X-Webhook-Signature: <signature>" \
-d '{"event": "new_order", "customer": "Acme Corp"}'
The webhook returns a run_id you can use to track the execution.
Webhook Signing¶
Webhook requests must be signed using HMAC-SHA256. A secret is generated when you save the workflow. Include the signature in the X-Webhook-Signature or X-Hub-Signature-256 header.
import hmac
import hashlib
secret = "your-webhook-secret"
body = b'{"event": "new_order", "customer": "Acme Corp"}'
signature = hmac.new(
secret.encode("utf-8"), body, hashlib.sha256
).hexdigest()
Using Webhook Data in Workflows¶
Data sent in the webhook payload is available in your workflow steps as trigger variables:
Tip
If you are unsure of the payload shape, add an early step that logs or summarises the payload so you can inspect it safely in Virtual Run and the Action Log.
Activating a Webhook¶
After previewing a webhook-triggered workflow with Virtual Run, click Activate in the toolbar to enable the webhook endpoint.
Manual Triggers¶
Manual workflows run on demand. Click Run in the builder or from the Workflows dashboard.
Event Triggers¶
Event triggers subscribe to activity in a connected service such as GitHub, Gmail, Slack, or Google Calendar. When the matching event happens, GloriaMundo starts the workflow automatically.
Learn more about event triggers
API Triggers¶
Workflows can also be triggered programmatically via the Developer API. This is useful for integrating GloriaMundo into your own applications.
Learn more about the Developer API
Data Flow¶
Regardless of trigger type, input data is available to all workflow steps via the trigger variable:
- Manual — No trigger data (unless provided via API)
- Scheduled — No trigger data by default
- Webhook — The JSON payload becomes
{{trigger.field_name}} - Event — The event payload becomes
{{trigger.field_name}} - API — The
inputobject becomes{{trigger.field_name}}