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 GitHub app on, while your sales project has HubSpot on. You control what the agent has access to, project by project.

Not everything is an app. Tasks, Notes, and Contacts are native — always on in every project, each with its own sidebar. There's nothing to enable.

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:

AppWhat it does
AWSRead 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.
ClaudeRun Claude Code tasks in Anthropic's cloud (using your own Anthropic API key) — hand off a coding task, optionally inside one of your GitHub repos, watch live status in a sessions panel, and get a feed update when it finishes. Each session's menu lets you resume it with a follow-up message, stop it, archive it, or delete it, and the panel remembers which agent you were viewing.
CRMOrg-shared deal pipelines and outbound email campaigns — deals with statuses and amounts, a taggable contact book with an in-panel contact editor, tag management (rename/merge/delete), and bulk campaign enrollment, multi-step email sequences with automatic reply/bounce/opt-out tracking, prospecting campaigns that create a deal automatically when someone replies, and AI enrichment from project activity.
FreshdeskSupport tickets — list, create, and update them, with new and updated tickets surfaced into the project feed.
GitHubRepos, issues, pull requests, and code — with meaningful repository activity (merged pull requests, releases, issues) feeding the project's Updates.
GoogleGmail, Calendar, and Contacts 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.
HubSpotFull CRM access — contacts, companies, deals, tickets, and quotes, plus logging notes, calls, emails, meetings, and tasks on record timelines — with meaningful changes surfaced into the project feed. Includes a HubSpot sidebar panel: browse your deal pipelines, companies, and tickets live from HubSpot, search, filter, and sort them (by activity, close date, amount, and more), pick a default pipeline per project, edit a deal's name, stage, amount, and close date, and open a deal's Activity tab to read its timeline — notes, calls, emails, meetings, tasks — and log a note, all without leaving Avi.
MeetingsMeeting links and a public booking page. Ask the agent for a shareable video-meeting link — with a Zoom account connected it mints a real Zoom meeting, no calendar event required, ready to paste anywhere. The booking page lets anyone pick a time from your real availability; confirmed bookings land on your Google Calendar with the visitor invited, and you can choose whether booked meetings carry a Google Meet or a Zoom link.
ResendMarketing 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.
SlackRead and send Slack messages as the connected user.
X (Twitter)Act as your X account: read mentions, threads, and search; post, reply, like, and repost when you ask. Your X conversations feed the project's Updates, and it can deliver a daily briefing on subjects you follow.

The X app

Connect your X account in Project Settings → Integrations — one click through X's consent screen, nothing else to set up (the platform provides the X API access and covers its usage). Then pick the connected account in the X app's settings. Once connected:

  • Your X activity flows into the feed. New mentions and replies on your threads land in the project's Updates, grouped with related email and Slack activity about the same matter. People who engage with you are added to Contacts.
  • 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 on X: 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 and the Posts panel. Ask Avi to draft a post or a whole thread and it lands in the X app's Posts panel (the X tile in the sidebar) — with a preview that looks exactly like it will on X: images, 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 — writing to X 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.

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 a required integration

Some apps need a connection to an outside service — for example, a Google app needs a Google account. When you click Enable on an app like that, you land on its settings screen, where the connection shows up as a required field.

If you've already connected that service to the project, just pick it from the dropdown. If you haven't, click Connect Google (or whichever service it needs) right there — the same connection flow runs in a pop-up without leaving the app's settings screen. Once you finish, the new connection is selected for you automatically, and you can finish enabling the app. No need to detour through the Integrations tab first.

(You can still manage every connection — and connect ones ahead of time — under the project's Integrations tab; this just saves you the round trip when an app asks for one.)

Beyond connections, an app's settings screen holds any other options the app offers. For example, the Google 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 you hold, like an Anthropic API key for the Claude app. 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:

  1. The app it belongs to is enabled in this project.
  2. 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.