AI Support
AI-assisted live support for real Beam sessions.
Beam AI Support captures screen, app, and customer context during a live Beam session, suggests safe next steps, records operator approvals, and generates a ticket-ready handoff summary.
Runtime configuration
Beam defaults to deterministic fallback guidance so production remains safe even without an LLM key. To enable an OpenAI-compatible chat-completions provider, set:
BEAM_AI_PROVIDER=openai-compatible
BEAM_AI_API_KEY=...
BEAM_AI_MODEL=...
BEAM_AI_CHAT_COMPLETIONS_URL=https://api.openai.com/v1/chat/completions
When PostgreSQL session storage is enabled, Beam also persists AI support events in beam_ai_support_events.
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET |
/v1/ai/support/health |
Returns provider, model, mode, and enabled AI-support features. |
POST |
/v1/sessions/{session_id}/ai/observations |
Submit visible screen/app/customer context and receive a suggestion. |
GET |
/v1/sessions/{session_id}/ai/timeline |
Read observations, suggestions, approvals, and summaries for a session. |
POST |
/v1/sessions/{session_id}/ai/actions/{action_id}/approve |
Record operator approval for a suggested AI action. |
POST |
/v1/sessions/{session_id}/ai/summary |
Create a support ticket or handoff summary. |
Add an observation
curl -X POST https://beam.be-online.ro/api/v1/sessions/sess_xxx/ai/observations \
-H "Authorization: Bearer $BEAM_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"user_goal": "Customer cannot finish billing setup",
"page_title": "Billing settings",
"page_url": "https://app.example.com/settings/billing",
"visible_text": "Payment method failed. Try another card.",
"error_text": "Payment method failed",
"customer_message": "I keep getting this when I save the card",
"docs_snippets": [
"Billing setup requires a valid tax country before card validation."
]
}'
Approval boundary
Beam AI can suggest actions, draft tickets, open context, or recommend escalation, but it does not execute arbitrary customer-impacting work on its own. Operators must approve suggested actions, and those approvals are recorded on the session timeline.
curl -X POST https://beam.be-online.ro/api/v1/sessions/sess_xxx/ai/actions/act_xxx/approve \
-H "Authorization: Bearer $BEAM_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "notes": "Customer confirmed before operator used this action." }'
Ticket summary
curl -X POST https://beam.be-online.ro/api/v1/sessions/sess_xxx/ai/summary \
-H "Authorization: Bearer $BEAM_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "format": "ticket", "notes": "Customer confirmed the issue is fixed." }'