integrations/vapi/v0.1.0

affaan-m/ECCintegrations/vapi/v0.1.0Sep 21, 2026by het0814

Upgrading?

AI Summary

First release of `memanto-vapi`, a webhook integration for Vapi voice agents that provides memory at call start, mid-call tools, and automatic lesson extraction.

Key Highlights

  • Memory injected at call start via `{{memanto_context}}`
  • Mid-call tools: `memanto_recall` and `memanto_remember`
  • Automatic lesson extraction from end-of-call reports
  • Support for two memory scopes: shared (assistant-wide) and caller (private)
  • Bearer token authentication for webhook requests

New Features

  • Memory at call start
  • Mid-call tools for recall and remember
  • Learning after each call
  • Two scopes support
  • Server and CLI utilities

Full Release Notes

# Release Notes for memanto-vapi v0.1.0

First release of `memanto-vapi`: a single webhook that gives a Vapi voice agent memory between calls. The agent gets your organization's knowledge and the lessons it learned on earlier calls, with optional per-caller memory.

## New Featuresper-caller memory.

## New Features
- **Memory at call start** (`memanto_vapi/memory.py`)
  - Replies to `assistant-request` with `{{memanto_context}}`, filled from recent and relevant memories.
  - Lookup is capped at 3s (Vapi allows 7.5s); if it times out or fails, the call starts without memory.
- **Mid-call tools** (`memanto_vapi/tools.py`)
  - `memanto_recall` and `memanto_remember` function tools. `memanto-vapi tools --server-url …` prints the JSON to create them with Vapi's `POST /tool`.
- **Learning after each call**
  - On `end-of-call-report`, lessons are pulled from the conversation (mistakes, corrections, better answers, business facts) using Vapi's summary and success evaluation. This runs in the background after the webhook replies.
  - A Vapi retry of the same report is skipped (`retained-<call id>` tag).
- **Two scopes** (`MEMANTO_VAPI_SCOPE`)
  - `shared` (default): one memory for the whole assistant, with no caller details stored.
  - `caller`: adds memory private to each caller, tagged with a salted HMAC of their phone number or `customer.externalId`. Raw numbers are never stored, and the server decides whose memory a call can read or write.
- **Server and CLI** (`memanto_vapi/webhook.py`)
  - `memanto-vapi serve`, or `create_router` to mount the webhook in your own FastAPI app.
  - Requests are authenticated with a bearer secret (legacy `X-Vapi-Secret` also accepted).
  - `build_assistant_overrides()` covers outbound, web and chat calls.

## Tests
- 36 tests covering both scopes, caller isolation, auth, timeouts, retries and malformed payloads. Payloads follow Vapi's OpenAPI schema.

## Install
pip install memanto-vapi  requires `memanto>=0.2.21`.

Related Repositories