Apps
An app is a bundle of related tools the agent can use — and often more: a panel of its own, background automation, activity feeding your project's Updates. Apps are turned on per project — so your engineering project might have the Code app on, while your sales project has the CRM on. You control what the agent has access to, project by project.
Seven apps are built in and always on: Drive, Email, Messages, Calendar, Tasks, Contacts and the Wiki. They're in every project from day one, with their own panels and nothing to enable, and they can't be switched off. Everything else in this guide is opt-in, per project.
Finding apps
A project's settings → Apps has two tabs: Installed — the apps already on in this project — and Discover — everything available to add: apps published by Avi, public apps from other publishers, and any apps your own team has built and deployed. Searching looks across both at once. Apps published by Avi include:
| App | What it does |
|---|---|
| AWS | Read anything in a connected AWS account, plus background monitoring — error spikes (including your own custom error metrics), firing CloudWatch alarms, security findings, and critical changes surfaced into the project feed. |
| Code | Your GitHub, inside Avi. Connected accounts' repos, pull requests, issues, code files, and search — browsable in the panel (fully voice-operable) and readable by the agent, with PR reviews, merges, and issue writes from chat — and meaningful repository activity (merged pull requests, releases, issues) feeding the project's Updates. Connect GitHub once and it all just works. Set up a Factory on one or more repos in the Code panel and it turns issues into reviewed pull requests, each built in its own Coding Sandbox. |
| CRM | Your organization's book of business — companies, contacts, pipelines with stages, deals, and an activity log. Works standalone (Avi is the system of record, shared across every project in the org), or connected to your own CRM (HubSpot today): everything is read from and written straight to your CRM, so what you see is always what it holds — nothing is copied or synced. Includes a panel for deals, contacts and companies. |
| Freshdesk | Support tickets — list, create, and update them, with new and updated tickets surfaced into the project feed. A reply to a customer goes out only once you OK it. |
| Drive | Always on. Your files, documents, and notes in one place — one tree, searchable end to end, with Google Drive and ShareFile mounting in as roots when connected. |
| Always on. A real inbox on the project's own avi-mail.com address out of the box, or switched to your connected Gmail — one inbox per source, reviewable drafts, and spam that never sneaks in. | |
| Messages | Always on. Chat with other orgs on the project's own @handle out of the box, blended live with a connected Slack workspace — one inbox, channels and DMs across both. |
| Calendar | Always on. Your calendar and scheduling, standalone or on Google Calendar. View and manage events (multiple named calendars with colors, recurrence, attendees, all-day spans) with a draft-first review loop and an agenda panel; bind a Google account to work live against Google Calendar instead of the built-in store. Plus the scheduling layer: shareable video-meeting links (a connected Zoom account mints real Zoom meetings, no calendar event required) and a public booking page — anyone picks a time from your real availability, confirmed bookings land on the active calendar with the visitor invited, and you choose whether booked meetings carry a Google Meet or a Zoom link. |
| Resend | Marketing email broadcasts through your Resend account. Ask the agent to draft a broadcast — the email template, subject, and audience segment — then review it in the Resend panel: see exactly what will go out and send it yourself with one click. Nothing sends without you. Delivery and engagement analytics live in Resend's own dashboard. |
| Sentry | Your Sentry errors, inside Avi. Browse and filter issues in the panel, read the latest stack trace, breadcrumbs, the distributed trace it happened in, and tag breakdown, and resolve, archive, assign, or comment, by hand or by asking Avi. Avi can also search spans and read whole traces to answer performance questions. New issues are checked every 15 minutes and show up in the project feed. |
| Social | Your social presence in one place — X today, more networks to come. Connect one or several accounts; follow mentions, lists, searches and timelines on a voice-driven board; read mentions and replies; draft posts that Avi publishes only when you say so; and draft, test and send email newsletters (Resend today). |
The Social app
Connect your X account from the Social app's settings — one click through X's consent screen, nothing else to set up (the platform provides the X API access and covers its usage). Connect several accounts if you speak from more than one. If you connected before list columns existed, reconnect once to grant list access. Once connected:
- The board. A deck of live columns, one feed each: your mentions, your home timeline, one of your lists, a search on a topic, or a user. Add as many as you like, reorder and resize them from the column menu, and sort any column by latest or top (top ranks the loaded posts by likes, reposts and replies; a search column asks X for its most relevant posts). Every column has a filter (original posts, replies, reposts, quotes, media, links) you can drive by voice, and leaves out posts from accounts that look like bots or spam unless you ask to include them: "show filter", "only replies", "no reposts", "clear the filters". Removing a column always confirms first. Posts read like they do on X, with photos, videos, quoted posts, X Articles, link previews and the reply, repost, like, views and share icons; like or repost straight from the feed, and links to X posts, articles and profiles open right in the app. Opening a post shows the posts it answers above it and its replies below as conversations (for posts from the last seven days), top replies first; open any reply to follow it further. Everything works by voice, instantly: "scroll economics down", "scroll the second column to the top", "select economics" then "scroll down", "make wider", "move left", "sort by top", "refresh column", "next column", "add a column", "pause economics", "open the third post".
- Your activity flows into the feed. New mentions and replies on your threads land in the Activity tab and in the project's Updates, grouped with related email and chat activity about the same matter.
- Breakout topics. To hear what about your topics, or among the people in your X lists, is suddenly taking off on X, add the Breakout Topics pre-made automation and fill in your topics or lists under Custom on its Instructions tab. Each morning at 8 it posts one update with the day's breakouts, ranked, each with a short paragraph on who, what, where and why. See Breakout Topics.
- Posting costs are always surfaced. X charges much more for posts containing links ($0.20 vs about $0.015) — Avi will always tell you and ask before sending one.
- Newsletters. Add your Resend API key in the Social app's settings, then ask Avi to write a newsletter, or start one from the Newsletters tab. Avi drafts and edits it and can send you a test; you review it and press Confirm to send it to its audience. Nothing goes out without you.
- Drafts. Ask Avi to draft a post or a whole thread and it lands in the Social app's Drafts tab — with a preview that looks exactly like it will on the network: threads, reply context, photos, GIFs and videos (from Drive or a link, on any post of a thread), character counts. Avi links you straight to any draft it creates; when you're happy with one, ask Avi to post it, photos and videos included.
- Avi never posts on its own. Posting is refused outright for any background or automated caller — publishing works only when you explicitly ask in chat.
Building your own
You can build and deploy your own apps — an internal API, a vendor Avi doesn't cover yet, a custom panel — with the Avi CLI. Your team's deployed apps show up in project settings next to Avi's, and enable the same way.
Reading an app's documentation
Every app ships its own documentation, and it updates automatically with every new version of the app — so what you read always matches what's deployed. Each app has an intro page: an overview written by the app's author, framed by a generated header (name, one-line summary, version, last updated) and a generated reference of every tool, setting, webhook, and data store the app ships. Deeper pages cover things like how its integrations authenticate, what runs on a schedule, and troubleshooting.
You'll find it in three places:
- Discover — open any app from the Discover tab to read its full intro page before enabling it.
- The app's Docs tab — for apps your org built, the org settings app detail has a Docs tab with every page.
- The agent — project agents read the same docs, so you can just ask ("how does the Calendar app decide what to sync?") and the agent consults the app's documentation before answering.
Enabling an app
In a project's settings → Apps, press Enable on the apps you want. Enabling an app:
- Turns on all of its tools at once — the agent can use the whole app immediately, with no need to enable each tool by hand. (You can still turn individual tools off afterward — see below.)
- May ask you to approve the app's capabilities — what the app is allowed to read and write. If a later update to the app requests new capabilities, the project re-approves them before the app runs again. Apps made by Avi, like Drive, Email and Calendar, never ask: they come with the access they need, including after updates.
- May add its own panel to the project, opened from the rail.
- May require you to connect an account (e.g. linking GitHub or HubSpot via OAuth).
- If the app does background work on a schedule, enabling it kicks off a first run right away — you don't wait for the next scheduled tick.
Each project remembers which panel you had open — and where you were inside it. Switch projects and come back, reload, or share the URL: the panel reopens exactly where you left it (the open panel and its view live in the page URL).
Connecting an account
Some apps run on an outside service — the Email, Calendar, and Drive apps on a Google account, Messages on Slack, CRM on HubSpot, Code on GitHub, Social on X. You connect that service from the app itself: its settings screen shows the account as a row with a Connect Google (or whichever service) button: pick what to share, sign in at the service, and you land straight back on the app's settings screen.
One sign-in sets up every app that uses it. The consent screen lists what the service can share, and each row names the apps that will be set up with it — connect Google from Email with Calendar and Drive ticked, and all three are configured the moment you return. Connect Drive later and the same Google account simply widens.
Each connected account shows up in every app that uses it, with Also used by naming the others. Use here puts it to work in this app, and Stop using takes it out of this one (that app goes back to running on its own). On an app you haven't enabled yet, the button reads Enable and use here and does both in one step. The row's ⋮ menu holds the rest: Reconnect goes straight to the service's sign-in with the access the account already has, and every app using the account picks it up at once; Permissions changes what the account shares; Disconnect removes it from the project and every app bound to it.
If an account loses access — you changed your password, or removed Avi's access at the service — every app that uses it shows a lost access strip across its top with a Reconnect button. Reconnect once, from any of them, and they all come back.
Connected accounts only ever reach Avi's own apps. An app from any other publisher connects to its services with its own credentials — its settings screen says so instead of offering your accounts.
Beyond connections, an app's settings screen holds any other options the app offers. For example, the Email app lets you toggle the small "(Email by Avi)" signature it appends to emails it sends and drafts — it's on by default, and you can switch it off there.
Some apps ask for a credential that isn't an OAuth connection — an API key or token you hold. Those settings are a dropdown over the project's Secrets: add the key under the project's Secrets tab first, then pick it in the app's settings. The app only ever stores a reference to your secret — it can't read your other secrets, and the actual value stays protected by Avi and is handed to the app securely each time it runs. If the dropdown is empty, add a secret first.
Tool-level control
Enabling an app switches all of its tools on for you. If that's more than you want, you can disable individual tools inside it — useful if you want the agent to read from a service but not write or delete. Use the Tools tab in the project's settings.
Webhooks
Some apps receive events from an outside service in real time (for example, a support desk pushing new tickets). When an app does, its settings page shows a Webhooks section with one entry per webhook:
- URL — a unique, secret address for this project. Copy it into the outside service's webhook settings. Because the URL is secret, treat it like a password.
- Rotate — generates a fresh URL and immediately disables the old one. Use this if a URL might have leaked; then update the outside service with the new URL.
- Enable / Disable — Disable is an instant off-switch: deliveries to that URL stop being accepted.
- Secrets — some apps ask you to bind a vendor secret (e.g. a "signing secret" the service gives you) so the app can verify each delivery is genuine. Pick the matching project secret from the dropdown. If it isn't listed yet, add it first under the project's Secrets, then come back and select it.
Deliveries only flow when the app is enabled and the webhook is active.
What apps the agent can actually use
For a tool to be callable, two things must be true:
- The app it belongs to is enabled in this project.
- The specific tool is permitted in this project.
Both gates matter. Turning off a single tool is a quick way to keep the rest of an app's capabilities while blocking one risky one.