KlangoRPA logoKlangoRPA
Triggers

Triggers

Triggers dispatch a bot automatically when a condition is met. No polling loop or cron server to manage — just configure the trigger and KlangoRPA handles the rest.

Cloud vs Runner-local triggers

Triggers come in two kinds based on where the condition is evaluated:

Cloud triggers

Evaluated by the Management server backend (Cron, Email, Webhook). They fire even if no runner is running at the moment — the job queues up and is claimed when a runner comes online.

Runner-local triggers

Evaluated by the Runner process on the machine (Hotkey, Process, Idle, File Watch). The Runner polls the server for its trigger list every 5 s and monitors conditions locally. The trigger only fires when the Runner is online.

To create any trigger, go to Web Console → Triggers → New Trigger. Select the bot, runner (or group), trigger type, and configure the condition fields. You can also set the Asset Environment (Dev / Staging / Prod) used for credential resolution when the bot runs.

Cron — Schedule

🕐

Cron

Cloud

Fire the bot on a repeating schedule using a standard 5-field cron expression.

Examples:

  • 0 8 * * 1-5 — weekdays at 8:00 AM
  • */30 * * * * — every 30 minutes
  • 0 0 1 * * — first day of every month at midnight

Enable One-shot to disable the trigger automatically after it fires once.

Tip — Time is evaluated in UTC on the Management server. If your schedule is time-zone sensitive, adjust the cron expression for the UTC offset of your region.

Email

📧

Email

Cloud

Monitor an IMAP mailbox and fire the bot when a matching message arrives.

Filters you can combine:

  • From — sender address (supports * wildcard)
  • Subject — subject line (wildcard)
  • Body — body text (wildcard)
  • Has attachment — only match emails with attachments
  • Attachment extension — e.g. .xlsx to match only spreadsheet attachments

Configure IMAP credentials (host, port, user, password, folder) in Web Console → Preferences → Email Trigger.

Note — The Email worker polls the IMAP inbox every minute. Messages that match a filter fire the trigger; matched messages can be automatically marked as read so they don't re-trigger on the next poll.

Webhook

🔗

Webhook

Cloud

Expose a public URL that fires the bot when called with an HTTP POST request.

When you create a Webhook trigger, KlangoRPA generates a unique secure token. The public endpoint is:

POST https://your-server/api/webhooks/{triggerId}/{token}

Copy the full URL from the Triggers page. Use the Regenerate button to issue a new token and invalidate the old one.

Enable One-shot to disable the trigger after its first fire — useful for one-time provisioning workflows.

Tip — Webhooks work with any external service that supports outbound HTTP requests: GitHub Actions, Zapier, Make, Slack, payment processors, and more.

File Watch

📁

File Watch

Runner-local

Fire the bot when a new file appears in a watched folder on the Runner machine.

  • Watch folder — absolute path on the Runner machine
  • File filter — glob pattern, e.g. *.csv or report_*.xlsx

The trigger fires on new file creation only — editing or deleting an existing file does not fire it.

Note — File Watch requires the Runner to be running on the machine where the folder lives. The Runner monitors the folder using the OS file-system watcher, with a 500 ms debounce to avoid double-firing on large file copies.

Hotkey / Process / Idle

⌨️

Hotkey

Runner-local

Fire the bot when the user presses a specific key combination on the Runner machine.

Useful for bots that humans trigger on demand, without opening the Web Console.

💻

Process

Runner-local

Fire the bot when a specific process starts or stops on the Runner machine.

Configure the process name (e.g. outlook.exe) and whether to trigger on start or stop.

💤

Idle

Runner-local

Fire the bot after the machine has been idle (no keyboard or mouse input) for a specified number of minutes.

Great for maintenance tasks that should only run when nobody is at the machine.

Note — Hotkey, Process, and Idle triggers require the Runner to be running on the machine where you want the trigger to activate. The Runner syncs its trigger list from the server every 5 seconds and monitors conditions locally.