Wire any event to any action.
Wire any event to any action.
Every other invoicing tool has "rules" for the one or two things their product team thought were important — auto-send on creation, payment reminder on overdue. That's it.
Guliel exposes a real trigger/action engine across the whole platform surface. Every feature emits events. Every feature accepts actions. Wire any to any. Five free, unlimited at $20.
Status — the automations engine is live (v1): the visual flow editor, the full trigger roster, the action catalog, filters, run history, and replay. A few conveniences are still rolling out and are flagged inline below (worker-side email delivery, multi-stage overdue reminders, org-timezone schedules).
How it works
An automation is one trigger plus one or more actions, plus optional filters. Triggers come from any feature: an invoice is created, an expense is approved, stock crosses a threshold, a supplier order is invoiced back, a payment is received, a date is reached. Actions are anything the platform can do: issue a document, send an email, post to a webhook, draft a supplier order, generate a report, mark a status, call a saved API flow.
Every run is logged. Failures replay. Successes have history. The audit trail is per automation, with the input event payload and the action result attached so you can see exactly what happened on any specific run.
Three concrete examples
The product gets less abstract when you see actual automations.
1. Auto-restock when stock drops
Trigger: logistics.item.stock_below_threshold
Filter: item.linkedSupplier != null
Action: supplier.order.draft with quantity = item.restockQuantity, supplier = item.linkedSupplier, auto_send = true
When Widget A drops below 50 units, draft an order to the widget supplier for 200 units at the contracted price and send it immediately. The supplier flow takes it from there — the supplier's invoice comes back, the stock restores, the expense logs. The loop closes without you in it. Tie this to logistics thresholds and you've eliminated the most common cause of running out of stock at month-end.
2. Monthly expense bundle to the accountant
Trigger: schedule.monthly (first of the month, 08:00 UTC — org-timezone schedules are coming)
Action 1: a filter over last month's expenses, shaped exactly how the accountant wants the columns
Action 2: webhook.post the bundle wherever the books live (email.send delivery from the engine is rolling out)
The accountant gets last month's register on the first, every month, without anyone remembering to do it. Year-end takes a week less.
3. Payment reminder on overdue
Trigger: invoice.overdue (fires once, the first morning after the due date passes)
Filter: shape the invoice, customer, and amount into the reminder
Action: post the reminder to your messaging webhook, or send the document through invoices.send
The replay log shows which reminder went out on which day. Multi-stage escalation (overdue by 7 days → polite, 21 days → firmer) is the next iteration of this trigger — today's invoice.overdue fires once per invoice.
Replay & history
Each automation has a history view: trigger event, input payload, evaluated filter, action result, timestamp, latency. Failed runs are replayable — fix the underlying issue (supplier email bounced, customer record missing a country), click replay, the run picks up from the action layer with the same input.
This matters more than the marketing implies. The first month of using automations, half of yours will fail for boring reasons (wrong recipient, currency mismatch, an item that got soft-deleted). The history view is what gets you to a stable set of rules in week two.
Pricing
Free tier includes 5 active automations. That's enough for the auto-send invoice rule, the monthly expense bundle, the auto-restock, and a couple of reminders. Standard ($20 / org / month) is unlimited. Premium ($99 / org / month) is unlimited plus SSO and audit log. Full table on /pricing.
We don't meter the runs. An active automation that fires 10,000 times in a month costs the same as one that fires once. The cap is on the count of distinct active rules, not the volume.
Triggers and actions, abridged
A non-exhaustive list of what's live. New triggers and actions get added with every feature ship; the changelog flags what's new at any given moment.
| Triggers | Actions |
|---|---|
invoice.created, invoice.sent, invoice.paid, invoice.overdue |
invoices.send, invoices.mark_paid, invoices.update |
expense.created, expense.approved |
expenses.update, expenses.status |
supplier.order.created, supplier.order.invoiced |
orders.create, orders.update |
logistics.item.stock_below_threshold |
logistics.stock |
payment.received |
email.send (delivery rolling out), webhook.post |
schedule.daily, schedule.weekly, schedule.monthly |
…and every other MCP tool, by name |
There is no separate action registry to fall behind: the action catalog is the MCP tool catalog. Anything an AI agent can do through MCP, an automation can do through the engine — same names, same auth checks, and the result lands in the history view.
FAQ
What counts as an "active" automation on the free tier?
Active = enabled and waiting to fire. Disabled rules don't count. You can keep 50 draft rules around and only flip 5 of them on. The cap is on what's currently armed.
Can one trigger fan out to multiple actions?
Yes. An automation supports a sequenced action list. The classic example: invoice paid → mark paid → issue receipt → send receipt to customer → post to webhook. One trigger, four actions, surfaced as a single run with per-step status (not atomic — see rollback question below).
What happens if an action fails mid-sequence?
The run pauses at the failed step. The earlier successful actions don't roll back. The history view shows the failure and the next-action-pending state. Replay re-runs from the failed step forward with the same input.
How is this different from Zapier?
Zapier is cross-platform — connect Guliel to Salesforce, Slack, Notion. Our automations are inside-platform — trigger on a Guliel event, take a Guliel action. They're complementary. If you need cross-tool flow, run a Zap. If the entire workflow lives inside Guliel, the native engine is faster, cheaper, and gives you the replay log.
Are automations included on every org separately?
Yes. Each organization has its own automation set with its own caps. Five free automations on org A and five free automations on org B is ten total. The pricing is per org, not per account.
Can I version or roll back automations?
Edits are recorded with a timestamp and the editing user. There's no formal version control today — that's a backlog item. For now, the conservative approach is to disable the old automation and create a new one with the edit, then delete the disabled one once you trust the new behavior.
Start free at /pricing.
Last updated: