Flows & automations

A flow is a named agent task with a trigger. Flows let the same agent that answers questions in chat also run unattended work — on a schedule, in response to an event, or whenever someone posts in a Slack channel. Create and manage flows from the dashboard Flows page.

Enable the relevant subsystem in your config:

LOMA_ENABLE_SCHEDULER=true   # for scheduled flows
LOMA_ENABLE_WEBHOOKS=true    # for webhook flows
# Slack-triggered flows use the Slack app — see /docs/slack/

Trigger types

Scheduled (routines)

Run a flow on a recurring cron schedule or as a one-time job, timezone-aware. Use these for anything that should happen on a clock. You provide the schedule and the prompt; the agent acts via its tools (and can post to Slack itself if you ask it to).

Webhook

Trigger a flow by POSTing to /webhook?flowId=<flow_id>. Webhook flows support HMAC-SHA256 or bearer-token authentication, and fields from the incoming payload can be templated into the agent’s prompt with {{payload}}. Every request and response is logged for audit. Use these to react to events from your CI/CD, support tools, or any system that can send a webhook.

Slack-triggered

Point a flow at a Slack channel and the agent replies to every new top-level message there, in that message’s thread. Replies inside a thread are ignored unless someone @mentions the bot — so threads stay quiet until you pull the agent back in. You provide the channel and a prompt; the user’s message is appended to it, and the agent’s answer is posted back into the thread automatically.

By default the agent responds only to people. Turn on allow bot messages if it should also react to automated posts — handy for an alerts channel fed by Grafana or other bots. One active Slack flow runs per channel.

Slack-triggered flows need the Slack app installed, the bot invited to the channel, and the bot subscribed to the message.channels event (plus message.groups for private channels). Use these to turn a channel into a front door for the agent — a #bugs triage desk, a #support first-responder, or an #alerts investigator.

Example automations

Teams commonly use flows for:

  • Morning report digests — pull from your tools each morning and post on-call summaries, support digests, experiment/A-B results, or adoption dashboards before standup. (scheduled)
  • Release & deploy automation — post changelogs and release notes, send deploy notifications, or open docs-update PRs when a PR merges or a build ships. (webhook)
  • Support triage — when a ticket arrives, investigate it against your data and docs and draft a reply or internal note. (webhook)
  • Channel copilots — make a Slack channel a front door for the agent: triage each new #bugs report, first-respond in #support, or investigate posts in #alerts — every answer lands in-thread. (Slack-triggered)
  • Recurring ops sweeps — size open tickets, run token/health checks, or drive cleanup passes. (scheduled)
  • Self-improvement — mine PR feedback, tickets, or call transcripts and update skills so the agent keeps getting better. (scheduled)

The model a flow runs with is configurable, so you can use cheap open models for high-volume automations and stronger models for complex tasks — see Agent runtime.