Documentation

Plugins

A Plugin is how Aitelier connects to the systems your business already runs — your phone trunk, your booking software, your CRM, your calendar, your notification channel. The agent calls them as tools during a conversation: check availability, create a booking, send a confirmation, write a lead, look up an existing customer.

Plugins are typed — every plugin of a given type (e.g. Calendar) implements the same contract — so you can swap providers without touching your scenario.

Connecting a plugin

Open the Connections tab in your project. You see one row per plugin type the scenario requires. Click the row to configure the provider.

Each provider asks for the credentials it needs: an API key, an OAuth login, a webhook secret. The platform encrypts every secret at rest and never displays it back. After saving, the Test connection button verifies the credentials are valid and that the agent can call the plugin successfully.

Plugin types

Telephony

How calls reach the platform. Two paths:

  • Aitelier-provided number — we provision a SIP DID inside the platform. Pick a country, you get a number, you point your call traffic at it (or just publish it as your business number).
  • Your own SIP trunk — bring your existing trunk (Twilio, Bandwidth, your IP-PBX). We validate the call path with a test before enabling production traffic, per ADR-0051.

Outbound calls go through the same plugin. We classify outbound minutes by route bucket (US local, US tollfree, EU outbound, RU outbound, other) for billing.

LLM Realtime

The model the agent uses for natural voice turn-taking. Three tiers ship with the platform:

  • Economy — Gemini 2.5 Flash native audio. Low cost, suitable for high-volume / low-stakes scenarios.
  • Standard — Cascade pipeline (Deepgram STT + GPT-4o-mini + Cartesia Sonic TTS). The default.
  • Premium — OpenAI Realtime hybrid + Claude Sonnet on the slow path. Highest quality, highest cost.

You pick the tier per scenario; the platform handles the rest.

Booking

How the agent reserves time slots — for tables, treatments, appointments. Shipping providers:

  • TheFork
  • OpenTable
  • SevenRooms
  • Resy
  • Generic webhook — points at your own reservation API

The agent calls check_availability, create_booking, modify_booking, cancel_booking against whichever provider is connected.

Calendar

For scenarios where the agent books on a specific person's calendar — typically sales meetings, real-estate viewings, healthcare appointments per practitioner.

  • Google Calendar — OAuth, per-person calendar access
  • Microsoft Outlook 365 — OAuth, per-mailbox calendar access
  • CalDAV — for Apple Calendar and self-hosted

The agent reads availability live, books with a title and description you template, and sends invites to attendees.

CRM

Where leads and customers live in your business. Shipping providers:

  • HubSpot
  • Salesforce
  • Pipedrive
  • AmoCRM
  • Zoho
  • Bitrix24
  • Generic webhook

The agent looks up callers by phone, writes new leads on capture, updates deal stages on qualification, attaches the call recording and transcript for audit.

E-commerce / OrderManagement

Used by the Sales pack to place orders on the call.

  • Shopify
  • 1C (Russia-friendly)
  • WooCommerce
  • BigCommerce
  • Custom REST — your own backend with a typed contract

place_order, check_stock, get_price against your real backend, audit trail attached.

Notification

How the agent sends confirmations and follow-ups.

  • Resend (email)
  • AWS SES (email)
  • Twilio SMS
  • Telegram bots
  • Slack

The agent reads the last four digits of the destination back to the caller for confirmation before sending.

Storage

Where call recordings, transcripts and exports live. Default is Hetzner Object Storage (S3-compatible, EU). Alternatives:

  • AWS S3
  • Cloudflare R2
  • Google Cloud Storage

You configure retention per project (default 90 days for recordings, configurable from 0 to "max permitted by law").

Writing your own plugin

If a provider you need is not on the shipping list, you can write a plugin against the typed contract. The full SPI lives in @avp/plugins-types; a small plugin (e.g. a custom CRM connector) is typically an afternoon of work.

Plugins run server-side; they have access to network only through the platform SDK, not to the filesystem or other tenants' data. We review and sign plugins before they can be enabled in a project; the review is a quick code-and-security check, not a marketplace gate.

Reach out at partners@aitelier.org if you want to contribute a plugin we can ship to other customers.

Errors and resilience

When a plugin fails — provider down, credential expired, rate-limited, network blip — the platform surfaces the failure to the LLM as a structured "service unavailable" tool-call result, not an exception. The agent reacts politely ("I am having trouble checking availability right now, could I take your details and call back?") instead of crashing the call.

You see every plugin error in the session detail page with the full request / response / latency, so you can debug without guessing.