aq.dev / docs/bots

Bots

A bot in AQ is a thread with a standing job. It wakes on a schedule or an event, posts the reason it woke as a message in its own thread, does the job with the same tools a chat has, and rests until the next wake. You create one from the new page with the Bot switch, from a chat or work item that proposes one, or from Settings, Bots.

The parts of a bot

  • Job: plain words describing what to do on each wake.
  • Wakes: what makes it run (below). A bot can have several.
  • Rules: whether it may start work items: Allow, Ask or Never.
  • Monthly cap: a spend limit for the calendar month.
  • Runs as: the person who owns it, with their accounts and machine.

Wakes

WakeWhen it fires
ScheduleAt a time of day in a time zone, on the weekdays you pick.
Linear labelWhen issues get a label, read through the owner's Linear connection.
Failing checkWhen a check fails on the pull request of the work item the bot is tied to.
Review commentWhen someone reviews or comments on that pull request.
New mailWhen unread mail matching a search arrives in the owner's Gmail.
Upcoming meetingA set number of minutes before events on the owner's Google Calendar.

Bots tied to a work item

A bot created from inside a work item is tied to it: it wakes in that work item's branch and thread, can watch its pull request for failing checks and review comments, and ends when the pull request merges or closes.

Rules and spending

With starting work set to Ask, the bot raises a Needs you card and a notification and waits for your answer; Always allow changes the rule. Connected tools keep their own Allow, Ask or Off permissions. When the month's spend reaches the cap, the next wake is skipped and you are told once. Run now, Pause, Resume, Edit job and End are in the bot's header bar.

Changing the job

Edit the job in the bot's header, or tell the bot in its thread. A change the bot makes to its own job shows up as a row you can undo. Product overview: AQ Bots. Your personal assistant is a bot too: Genie.