QuantyDocs

Triggers & automations

Quanty has two complementary automation systems. Sheet triggers live on a single sheet and run it when something happens: a matching Gmail message arrives, an interval elapses, or a weekly schedule fires. Email automations live at the organization level: each automation gets its own inbound email address, classifies every message it receives and routes it through a branch of actions. Both journal every write and support one-click undo.

Sheet triggers

Open the Triggers panel from the sheet toolbar. The panel is described as "Run this sheet automatically when something happens." Each trigger belongs to one sheet (optionally one page) and appears with its last run time and how many rows it produced this week.

Trigger types

TypeWhat it does
New Gmail emailAdds a row for every new email that matches your filter
Fixed intervalRuns repeatedly, e.g. every 30 minutes
Weekly scheduleRuns on chosen days at a set time

New Gmail email

Gmail triggers require a connected Gmail account. If the organization has not connected one yet, Quanty asks you to do that first in Integrations.

Configuration:

  • Gmail search filter — standard Gmail query syntax, for example from:invoices@supplier.com has:attachment.
  • Save attachments to the library — stores incoming attachments as Files so file columns and AI columns can read them.
  • Field mapping — choose which columns receive the email fields: Sender, Subject, Received at, Body and Attachments (a file column).

Only new mail counts

A Gmail trigger starts watching from the moment it is created. Messages that arrived before that are never imported, so creating a trigger cannot flood your sheet with historical email.

Fixed interval and Weekly schedule

Time-based triggers run without any external event:

  • Fixed interval — runs every N minutes, from every 5 minutes up to 7 days.
  • Weekly schedule — pick the days of the week and a time of day (UTC).

Both take an action: Run all AI columns (process the sheet) or Add a new row. You can also put the fire time into a column of your choice, which is useful for append-style logs.

Options

Every trigger has two safety switches:

  • Run AI columns on new rows — newly created rows are processed immediately. Turn this off if you prefer to run the sheet manually.
  • Hold new rows for approval — rows wait in an approval state until a person accepts them. Rejecting an approval deletes the row.

Managing triggers

Each trigger in the panel offers Run now, Pause / Resume and Delete, along with its last run time and a weekly row count. Deleting a trigger stops future runs but keeps its history.

Activity and undo

Every firing is recorded as a trigger run with a status of running, succeeded or failed, together with the exact writes it performed. From the activity feed you can Undo a run: the rows it created are removed and the feed confirms with "Rows removed". A run that is still in progress cannot be undone until it finishes.

Automatic pause on failures

If a trigger keeps failing, Quanty pauses it and records the reason, so a broken filter or an expired Gmail connection cannot burn tokens in a loop. Reactivating the trigger re-resolves the Gmail connection, clears the failure counter and resets the watermark so it only looks at mail arriving from that moment on.

Email automations

Email automations turn an inbound address into a data pipeline. They are managed at the organization level, next to your integrations.

The inbound address

Each automation gets a dedicated address in the form:

your-org-slug+alias@<inbound domain>

The alias is yours to choose (lowercase letters, digits, dots, underscores and dashes). Anything sent to that address enters this automation's pipeline. Deleting an automation retires the alias, so later mail to it becomes unrouted rather than silently processed.

The pipeline

Every inbound email flows through four stages:

  1. Route — the alias picks the automation.
  2. Prefilters — zero-token checks that reject mail before any AI runs: sender mode (anyone or an allow-list), allowed domains, require attachment, allowed file extensions.
  3. Classify — a single LLM call labels the email using your classification prompt, returning a label, a confidence score and its reasoning. Emails below your confidence threshold are held for review.
  4. Branch actions — the branch matching the label runs its actions in order.

Branch actions

ActionEffect
save_attachmentStore the attachments in Files
append_rowAdd a row to the destination sheet, using your field mapping
run_pipelineRun the AI columns of the destination sheet
replySend a reply to the sender
hold_reviewStop and queue the email for human review
notifySend a notification

A fallback branch labelled "something else" always exists and holds unmatched email for review, so nothing is dropped silently.

Statuses and the inbox

Every email lands in the automation inbox with one of four statuses: processed, needs review, failed or unrouted. The inbox shows counts per status, and each email opens with its full body, its classification decision and every write it caused.

  • Approve a held email to execute the branch for the chosen label with real writes.
  • Reject it to mark it unrouted.
  • Retry failed or unrouted email to re-enqueue processing.
  • Undo reverses everything a specific email wrote: created rows are deleted and saved files are removed.

Testing an automation

Use the built-in test to dry-run the pipeline against a stored inbound email or a hand-written sample (sender, subject, body, attachments). The result shows each stage, the classification decision with its reasoning, and the writes that would happen. Nothing is written during a dry run; you can optionally re-run a stored email for real once you are satisfied.

Row approval

Rows created by any integration (email automations, Google Sheets syncs or triggers) can be held for approval when the source has Require approval enabled. Such rows carry a ⚡ badge in the grid showing where they came from. Approving keeps the row; rejecting deletes it.