Integrazioni
Per ogni integrazione: collegamento, scope, stato e ultimo test. Nessuna capacità promessa non verificata.
Si distingue la disponibilità della piattaforma (il runtime la supporta) dall’implementazione applicativa (codice presente e testato). Gli scope provider sono documentati come “required (to verify)”, mai inventati come concessi.
| Capacità | Implementazione | Verifica | Piattaforma | App | Stato |
|---|---|---|---|---|---|
| Admin authentication (GHL User Context SSO) | auth.server — AES decrypt + live membership verify + HttpOnly cookie | Mock-tested: pilot restriction, no activeLocation fallback, secret reuse rejected, cookie not token. NOT live-tested. | disponibile | sì | Documentata |
| Customer portal authentication (separate from admin) | portal-auth.server — contracts present, login disabled | Provider scelto: Cloudflare (D1 ghlverse-console). Da collegare: ponte autenticato server. No password in Contacts. NOT connected. | disponibile | no | Non collegata |
| Trusted GHL sub-account context (location id) | resolveTenantContext() server-side from cookie — no URL/LLM trust | No URL / postMessage / LLM trust; denies until authorized session. Mock-tested, NOT live-tested. | disponibile | sì | Documentata |
| GHL connection (Contacts/Calendars/Custom Objects) | GhlProvider adapter — REST v3/2021-07-28, Zod strict, cookie context | Mock-tested: 401/403/429/timeout/malformed, no 200{}==success, /objects/:schemaKey/records. NOT live-tested. | disponibile | sì | Documentata |
| Receptionist config / agent mapping | GhlProvider Custom Object — POST /objects/:schemaKey/records | Mock-tested create; strict schema rejects caller locationId. NOT live-tested. | disponibile | sì | Documentata |
| Server Functions (app logic) | TanStack Start createServerFn | getAppStatus implemented + tested (status only) | disponibile | sì | Abilitata |
| Public REST routes | src/routes/api/status (non-sensitive status only) | GET /api/status returns booleans/enums only | disponibile | sì | Abilitata |
| Secrets vault | AI Studio Secrets (server-only) | GHL token read server-side only; no client keys; status exposes no secret | disponibile | sì | Abilitata |
| Vocal runtime (GHL Voice AI nativo — GPT-LIVE-1 S2S) | GhlVoiceProvider adapter — REST v3 /voice-ai/agents, Zod strict; S2S profile contract (gpt-live-1) | Mock-tested: create/list/get/patch, 401/403/429/5xx/timeout, outcome_unknown, notifications off, marketplace rejected, S2S gate (not_verified). NOT live-tested. | disponibile | sì | Documentata |
| Telephony (Mewecom/Zadarma SIP) | TelephonyProvider adapter — code absent | SIP trunk collaudo — NOT implemented | disponibile | no | Non collegata |
| Webhook post-call | REST route + durable job queue — code absent | HMAC raw body + timestamp — NOT implemented | disponibile | no | Documentata |
| Billing / plans | Single provider (inactive until configured) | Plan limits + quota counters — NOT implemented | disponibile | no | Non collegata |
- 1
Identità + registro durevole
Autenticazione cliente del portale separata dall'admin, con registro tecnico duraturo per deduplica/retry/stato.
Stato: Cloudflare scelto — collegamento da completare · Prossimo passo: Completare il ponte autenticato server tra segreter-ia e il provider identità scelto.
- 2
Accesso API ai sub-account CRM
Verificare prima la connessione OAuth già presente nella console Cloudflare e i permessi sul sub-account scelto. Token solo server-side, mai nel browser. Location risolta dal server da sessione autorizzata.
Stato: Da collegare · Prossimo passo: Solo dopo la verifica OAuth, chiedere gli eventuali accessi mancanti via Secrets.
- 3
Associazione/verifica agente GPT-LIVE-1 (speech-to-speech)
Il motore richiesto è GPT-LIVE-1 S2S via Voice AI nativo. La selezione del modello non è ancora supportata da un adapter API verificato: la creazione diretta è bloccata (gate `not_verified`).
Stato: Configurazione da verificare · Prossimo passo: Configurare l'agente nel builder nativo (amministratore); verificare prima la connessione OAuth esistente e gli scope sul sub-account.
- 4
Contatti / calendari / conoscenza (lettura)
Contacts, Calendars e Custom Objects come CRM principale. Lettura contatti (ricerca/paginazione/dettaglio) e calendari/eventi implementata (mock-tested), live Da collegare. Conoscenza con ingestione e stati.
Stato: Adapter mock-tested, live Da collegare · Prossimo passo: Probe live con credenziali verificate; collaudo contatti/calendari/conoscenza.
- 5
Servizi / procedure / gestione abbonamento
Servizi prenotabili, procedure agente, gestione abbonamento e provisioning sub-account dopo pagamento + approvazione.
Stato: Da collegare · Prossimo passo: Completare servizi/procedure dopo verifica CRM; provisioning con token agency.
Multicanalità, webcall, telefonia e WhatsApp Business Calling sono rimandati. Non sono implementati né dichiarati attivi. Non bloccano il percorso webapp CRM.
Web call (widget pubblico)
Widget voce/chat incorporabile. Session endpoint, quote e protezioni antiabuso.
BozzaRimandato — non implementato
Telefonia Mewecom / Zadarma
Numerazioni proprie su trunk SIP/PBX verso il runtime vocale. AI First o Human First. Compatibilità/routing da verificare, non dichiarare SIP/BYOC già funzionante.
BozzaRimandato — Da collegare
WhatsApp Business Calling
Solo eventuale, compatibilità futura da verificare.
BozzaRimandato — eventuale
Connessioni
HighLevel — sub-account per cliente
CRM
Un sub-account CRM per cliente: archivio principale di contatti, calendari e configurazione receptionist (Custom Object compatto, senza duplicare Contacts/Calendar Events). location id risolto server-side da cookie autorizzato, MAI da URL. Adapter GhlProvider implementato (mock-tested): REST v3/2021-07-28, /objects/:schemaKey/records, Zod strict, nessun 200{}==success. Prima verificare OAuth già presente e scope sul pilot; non richiedere di default una nuova chiave centrale. Live probe Da collegare (credenziali reali).
GHL Voice AI (nativo)
Runtime vocale
Runtime vocale nativo GHL Voice AI con motore richiesto GPT-LIVE-1 (speech-to-speech, full duplex). Adapter GhlVoiceProvider implementato (mock-tested): REST v3, /voice-ai/agents create/get/list/patch, Zod strict, notifiche forzate off, marketplace escluso, outcome_unknown su errore 5xx/timeout. La selezione del modello GPT-LIVE-1 non è documentata nello schema API pubblico: creazione diretta bloccata (not_verified), nessuna chiamata API finché la capacità non è verificata. Solo percorsi Personalizzato e Flow Based (quest'ultimo in sola lettura). Live probe Da collegare (credenziali reali).
Mewecom (SIP/PBX)
Telefonia
Numerazioni proprie. Profilo servizio richiesto dal committente. Endpoint NON inventato: verificare REGISTER, codec, regione, caller ID, canali simultanei (Da collegare).
Zadarma (SIP/PBX)
Telefonia
PUT /v1/direct_numbers/set_sip_id/ (SIP URI esterno) e POST /v1/pbx/redirection/. Verificare schema e credenziali prima di abilitare (Da collegare).
Google Calendar
Calendari
Sincronizzazione calendari esterni. OAuth 2.0 richiesto (Da collegare).
MCP / HTTP tools
Strumenti
Tool arbitrari con controlli destinazione/privilegi. Destinazioni allowlist, non autenticazione (Da collegare).