Connect Vapi
Overview
Vapi integration follows the same pattern as Retell:
- Connect your Vapi account in the Powsoo dashboard (paste your Vapi API key).
- Add
powsoo_show_cardto your Vapi assistant configuration. - Create a widget and pick the Vapi assistant.
- Embed the snippet.
The key difference from Retell: with Vapi, tool calls are handled client-side via the Vapi Web SDK’s message event. There is no server-side webhook URL. The widget handles the tool call directly and sends the result back via client.send({ type: 'add-message', ... }).
Tool definition
Add this to your Vapi assistant’s tools array:
{ "type": "function", "async": false, "function": { "name": "powsoo_show_card", "description": "Display an interactive card on the user's screen and wait for their tap response. Use this whenever you want the user to confirm captured data, present choices, or collect structured input visually instead of asking them to spell it back.", "parameters": { "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "value": { "type": "string" }, "type": { "type": "string", "enum": ["text", "email", "phone", "address", "date", "select", "multiselect", "consent"] }, "editable": { "type": "boolean", "default": true }, "options": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "label": { "type": "string" } } } } }, "required": ["label"] } }, "actions": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "value": { "type": "string" }, "style": { "type": "string", "enum": ["primary", "secondary", "danger"] } }, "required": ["label", "value"] }, "minItems": 1 } }, "required": ["title", "actions"] } }}"async": false is required — it tells the assistant to wait for the result before continuing.
System prompt
Use the same system prompt template as for Retell. The LLM behavior is identical regardless of platform.