Mail and calendar accounts.
Mail bucket routing.
Domain rules, first match wins.
Bucket names, highest priority first.
Email pipeline settings.
Optionalbackfill?: { accounts: string[]; lookbackDays: number; windowDays: number }Paced historical backfill.
Gmail accounts to backfill.
How far back from now to walk, in days.
Days searched per run, per account.
Email digest.
Slack channel the email digest posts to.
Optionalmeetings?: { archive: boolean }Actions on meeting source emails.
Archive the source email out of INBOX after packaging.
Report Gmail changes (labels, archive) without making them, for every
account. accounts[].reportOnly opts a single account in.
Optionalrespond?: {Assistant-mailbox auto-reply (email-respond).
Senders allowed to trigger a reply: exact addresses or
*@example.com (that domain; not a consumer provider). Must not list
mailbox exactly; a pattern covering it never lets it qualify.
OptionaldryRun?: booleanDiscovery + qualification only: no dispatch, no send, no state writes.
Gmail label applied to a thread after a successful reply.
The mailbox that receives and replies to mail.
Messages processed per run, oldest first (default 3).
Per-thread reply rate limit (default 3/hour).
Mirror each sent reply to Slack (the sender's DM, or a channel the
email asked for). Needs the users:read.email bot scope. Default off.
OptionalgoogleDrive?: unknownGoogle Drive sync block, kept raw here: the google-drive domain validates it, so a mistake in it fails only the Drive job, never every job that loads this config.
Named references (Slack channels, Notion ids, paths) by dotted key.
The loaded config's
pipelineblock.