Apps
An app is a bundle of related tools the agent can use — and often more: a sidebar panel, 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.
A few apps are first-party and always on: Tasks and Contacts are in every project from day one, with their own sidebar panels and nothing to enable. 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, plus 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; the same connection also mounts repos into background agents that use a 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 sidebar panel for deals, contacts and companies. |
| Freshdesk | Support tickets — list, create, and update them, with new and updated tickets surfaced into the project feed. |
| Gmail, Calendar, Drive, Slides (read and edit presentation content), and Sheets (read, write, and format spreadsheets) through your connected Google account. Calendar support covers timed and true all-day events (single or multi-day), Google Meet links, and — when a Zoom account is connected to the project — creating a Zoom meeting and attaching it to an event. Includes a sidebar panel that opens on a read-only Calendar tab — your upcoming (and past) events anchored on today, with today highlighted and a Go To Today shortcut; click any event to open its details in a dialog right over the calendar — when, guests, location, and a Join Zoom / Join Meet / Join Teams button for its video link, wherever the event keeps it (even a link pasted in the invite) — and close it to land back on the agenda exactly as you left it; pick which calendars it shows — yours plus any shared with your account — from the tab's Calendars dropdown, and the choice sticks for the project. Ask the agent to draft an email, then review the finished draft in the panel's Drafts tab — it updates live as the agent works, and you can send, edit, or discard it there — or start one yourself with the Drafts tab's New draft button (it saves as a draft first, so everything you send gets a review step). The Preview tab shows a received email in full when you follow an email link from chat — you can reply or reply-all in the same thread right there (calendar event links open inside the Calendar tab instead). Drafts live in Avi until you send them (they won't appear in Gmail's own Drafts folder), and nothing is ever sent without you. The Drafts tab holds calendar-event drafts too, marked with a small calendar icon beside the email ones: ask the agent to draft an event — new or a change to an existing one — and it opens in the same event dialog for review, clearly labeled as creating or updating, with nothing touching your calendar (and no invitations going out) until you click Create or Update. | |
| Calendar | 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. |
| 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 get a daily briefing on subjects you follow. |
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). Removing a column always confirms first. 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.
- Daily topic briefings. In the app's settings, add up to 20 subjects you want to follow — broad ones work, like "AI Startups". Each subject gets one living update in the feed with a fresh entry every morning summarizing the past 24 hours across every connected network: the themes, the notable voices, the posts worth reading. Quiet days add nothing. Briefings are never merged or regrouped by the feed's curation. Remove a topic and its briefing quietly retires.
- 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.
- 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, character counts. Avi links you straight to any draft it creates; when you're happy with one, ask Avi to post it. Media in drafts previews fully but can't be posted by Avi yet.
- 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, agent, setting, and webhook 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, toggle the apps you want on. 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.
- May open a sidebar panel in the project (e.g. an app can add its own panel).
- 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, and the connection runs in a pop-up without leaving 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. Stop using here takes the account out of one app (that app goes back to running on its own); Disconnect removes it from the project and every app bound to it. If a service revokes access, the app shows Reconnect right there.
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. Look for the tool permissions panel inside the project's settings.
Webhooks
Some apps receive events from an outside service in real time (for example, Slack pushing new messages). 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 (e.g. Slack → Event Subscriptions → Request URL). 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.