Supporto dei partecipanti di Google Meet per OpenClaw: il plugin è esplicito per progettazione:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Si unisce solo a un URL esplicito
https://meet.google.com/.... - Può creare un nuovo spazio Meet tramite l’API Google Meet, quindi unirsi all’URL restituito.
agentè la modalità talk-back predefinita: la trascrizione in tempo reale ascolta, l’agente OpenClaw configurato risponde e il normale TTS di OpenClaw parla in Meet.bidirimane disponibile come modalità di ripiego diretta del modello vocale in tempo reale.- Gli agenti scelgono il comportamento di accesso con
mode: usaagentper ascolto/talk-back dal vivo,bidiper il fallback vocale diretto in tempo reale, oppuretranscribeper unirsi/controllare il browser senza il bridge di talk-back. - L’autenticazione parte come OAuth Google personale o come profilo Chrome già connesso.
- Non esiste alcun annuncio automatico di consenso.
- Il backend audio predefinito di Chrome è
BlackHole 2ch. - Chrome può essere eseguito localmente o su un host node associato.
- Twilio accetta un numero di accesso telefonico più un PIN o una sequenza DTMF opzionale; non può chiamare direttamente un URL Meet.
- Il comando CLI è
googlemeet;meetè riservato a flussi di lavoro più ampi di teleconferenza degli agenti.
Avvio rapido
Installa le dipendenze audio locali e configura un provider di trascrizione in tempo reale più il normale TTS di OpenClaw. OpenAI è il provider di trascrizione predefinito; anche Google Gemini Live funziona come fallback vocalebidi separato con
realtime.voiceProvider: "google":
blackhole-2ch installa il dispositivo audio virtuale BlackHole 2ch. Il programma
di installazione di Homebrew richiede un riavvio prima che macOS esponga il dispositivo:
--mode transcribe;
questa modalità salta i prerequisiti audio in tempo reale perché non ascolta né parla tramite
il bridge:
voice-call, le credenziali Twilio e l’esposizione pubblica del webhook sono pronti.
Tratta qualsiasi controllo ok: false come un blocco per il trasporto e la modalità
controllati prima di chiedere a un agente di unirsi. Usa openclaw googlemeet setup --json
per script o output leggibile da macchina. Usa --transport chrome,
--transport chrome-node o --transport twilio per eseguire il preflight di uno specifico
trasporto prima che un agente lo provi.
Per Twilio, esegui sempre esplicitamente il preflight del trasporto quando il trasporto
predefinito è Chrome:
voice-call mancante, credenziali Twilio o esposizione
webhook non raggiungibile prima che l’agente provi a chiamare la riunione.
Unisciti a una riunione:
google_meet:
google_meet rivolto agli agenti rimane disponibile su host non macOS per
flussi di artefatti, calendario, setup, trascrizione, Twilio e chrome-node. Le azioni
locali di talk-back Chrome sono bloccate lì perché il percorso audio Chrome incluso
attualmente dipende da BlackHole 2ch di macOS. Su Linux, usa mode: "transcribe",
l’accesso telefonico Twilio o un host chrome-node macOS per la partecipazione
talk-back con Chrome.
Crea una nuova riunione e unisciti:
SpaceConfig.accessType di Google Meet quando vuoi
che la policy no-knock della stanza sia esplicita invece di essere ereditata dai valori
predefiniti dell’account Google:
OPEN permette a chiunque abbia l’URL Meet di unirsi senza bussare. TRUSTED permette
agli utenti attendibili dell’organizzazione host, agli utenti esterni invitati e agli
utenti con accesso telefonico di unirsi senza bussare. RESTRICTED limita l’ingresso
senza bussare agli invitati. Queste impostazioni si applicano solo al percorso ufficiale
di creazione tramite API Google Meet, quindi le credenziali OAuth devono essere configurate.
Se hai autenticato Google Meet prima che questa opzione fosse disponibile, riesegui
openclaw googlemeet auth login --json dopo aver aggiunto lo scope
meetings.space.settings alla schermata di consenso OAuth di Google.
Crea solo l’URL senza unirti:
googlemeet create ha due percorsi:
- Creazione API: usata quando sono configurate le credenziali OAuth Google Meet. Questo è il percorso più deterministico e non dipende dallo stato dell’interfaccia del browser.
- Fallback del browser: usato quando le credenziali OAuth sono assenti. OpenClaw usa il
node Chrome bloccato, apre
https://meet.google.com/new, attende che Google reindirizzi a un vero URL con codice riunione, quindi restituisce quell’URL. Questo percorso richiede che il profilo Chrome di OpenClaw sul node sia già connesso a Google. L’automazione del browser gestisce il prompt iniziale del microfono proprio di Meet; quel prompt non viene trattato come errore di login Google. I flussi di unione e creazione provano anche a riutilizzare una scheda Meet esistente prima di aprirne una nuova. La corrispondenza ignora stringhe di query URL innocue comeauthuser, quindi un nuovo tentativo dell’agente dovrebbe mettere a fuoco la riunione già aperta invece di creare una seconda scheda Chrome.
source (api o browser) così gli agenti
possono spiegare quale percorso è stato usato. create si unisce alla nuova riunione per
impostazione predefinita e restituisce joined: true più la sessione di unione. Per generare
solo l’URL, usa create --no-join nella CLI o passa "join": false allo strumento.
Oppure di’ a un agente: “Crea un Google Meet, unisciti con la modalità talk-back dell’agente
e inviami il link.” L’agente dovrebbe chiamare google_meet con
action: "create" e poi condividere il meetingUri restituito.
"mode": "transcribe". Questo
non avvia il bridge vocale duplex in tempo reale, non richiede BlackHole o SoX e non parlerà
nella riunione. Gli accessi Chrome in questa modalità evitano anche la concessione dei permessi
microfono/fotocamera di OpenClaw ed evitano il percorso Usa microfono di Meet. Se Meet
mostra un interstitial di scelta audio, l’automazione prova il percorso senza microfono e
altrimenti segnala un’azione manuale invece di aprire il microfono locale. In modalità
transcribe, i trasporti Chrome gestiti installano anche un osservatore delle didascalie Meet
best-effort. googlemeet status --json e googlemeet doctor mostrano captioning,
captionsEnabledAttempted, transcriptLines, lastCaptionAt, lastCaptionSpeaker,
lastCaptionText e una breve coda recentTranscript così gli operatori possono capire
se il browser si è unito alla chiamata e se le didascalie Meet stanno producendo testo.
Usa openclaw googlemeet test-listen <meet-url> --transport chrome-node quando ti serve
una verifica sì/no: si unisce in modalità transcribe, attende nuove didascalie o movimento
della trascrizione e restituisce listenVerified, listenTimedOut, campi di azione manuale
e lo stato più recente delle didascalie.
Durante le sessioni in tempo reale, lo stato google_meet include lo stato di salute del
browser e del bridge audio, come inCall, manualActionRequired, providerConnected,
realtimeReady, audioInputActive, audioOutputActive, timestamp dell’ultimo input/output,
contatori di byte e stato di chiusura del bridge. Se appare un prompt sicuro della pagina Meet,
l’automazione del browser lo gestisce quando può. Login, ammissione da parte dell’host e prompt
di autorizzazione del browser/OS sono segnalati come azione manuale con un motivo e un messaggio
da far riferire all’agente. Le sessioni Chrome gestite emettono la frase introduttiva o di test
solo dopo che lo stato del browser riporta inCall: true; altrimenti lo stato riporta
speechReady: false e il tentativo di parlato viene bloccato invece di fingere che l’agente
abbia parlato nella riunione.
Gli accessi Chrome locali passano tramite il profilo browser OpenClaw connesso. La modalità
in tempo reale richiede BlackHole 2ch per il percorso microfono/altoparlante usato da
OpenClaw. Per audio duplex pulito, usa dispositivi virtuali separati o un grafo in stile
Loopback; un singolo dispositivo BlackHole è sufficiente per un primo smoke test ma può
creare eco.
Gateway locale + Chrome Parallels
Non hai bisogno di un Gateway OpenClaw completo o di una chiave API del modello dentro una VM macOS solo per fare in modo che la VM possieda Chrome. Esegui Gateway e agente localmente, poi esegui un host node nella VM. Abilita una volta il plugin incluso nella VM così il node pubblicizza il comando Chrome: Cosa viene eseguito dove:- Host Gateway: OpenClaw Gateway, workspace dell’agente, chiavi modello/API, provider in tempo reale e configurazione del plugin Google Meet.
- VM macOS Parallels: CLI/host node OpenClaw, Google Chrome, SoX, BlackHole 2ch e un profilo Chrome connesso a Google.
- Non necessari nella VM: servizio Gateway, configurazione agente, chiave OpenAI/GPT o configurazione del provider del modello.
BlackHole 2ch:
<gateway-host> è un IP LAN e non stai usando TLS, il node rifiuta il WebSocket
in chiaro a meno che tu non scelga esplicitamente quella rete privata attendibile:
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 è un ambiente di processo, non un’impostazione
openclaw.json. openclaw node install lo memorizza nell’ambiente LaunchAgent
quando è presente nel comando di installazione.
Approva il node dall’host Gateway:
googlemeet.chrome
sia la capability browser/browser.proxy:
google_meet con transport: "chrome-node".
Per uno smoke test con un solo comando che crea o riutilizza una sessione, pronuncia una frase
nota e stampa lo stato della sessione:
manualActionRequired: true con manualActionReason e
manualActionMessage. Gli agenti devono smettere di riprovare la partecipazione, segnalare esattamente
quel messaggio più gli attuali browserUrl/browserTitle, e riprovare solo dopo che
l’azione manuale nel browser è completa.
Se chromeNode.node viene omesso, OpenClaw seleziona automaticamente solo quando esattamente un
nodo connesso dichiara sia googlemeet.chrome sia il controllo del browser. Se
sono connessi diversi nodi compatibili, imposta chromeNode.node sull’id del nodo,
sul nome visualizzato o sull’IP remoto.
Controlli per errori comuni:
Configured Google Meet node ... is not usable: offline: il nodo fissato è noto al Gateway ma non disponibile. Gli agenti devono trattare quel nodo come stato diagnostico, non come host Chrome utilizzabile, e segnalare il blocco di configurazione invece di ripiegare su un altro trasporto, a meno che l’utente non lo abbia richiesto.No connected Google Meet-capable node: avviaopenclaw node runnella VM, approva l’abbinamento e assicurati cheopenclaw plugins enable google-meeteopenclaw plugins enable browsersiano stati eseguiti nella VM. Conferma anche che l’host Gateway consenta entrambi i comandi del nodo congateway.nodes.allowCommands: ["googlemeet.chrome", "browser.proxy"].BlackHole 2ch audio device not found: installablackhole-2chsull’host verificato e riavvia prima di usare l’audio Chrome locale.BlackHole 2ch audio device not found on the node: installablackhole-2chnella VM e riavvia la VM.- Chrome si apre ma non riesce a partecipare: accedi al profilo del browser dentro la VM, oppure
mantieni
chrome.guestNameimpostato per la partecipazione come ospite. La partecipazione automatica come ospite usa l’automazione del browser di OpenClaw tramite il proxy browser del nodo; assicurati che la configurazione del browser del nodo punti al profilo desiderato, per esempiobrowser.defaultProfile: "user"o un profilo di sessione esistente denominato. - Schede Meet duplicate: lascia
chrome.reuseExistingTab: trueabilitato. OpenClaw attiva una scheda esistente per lo stesso URL Meet prima di aprirne una nuova, e la creazione di riunioni tramite browser riusa una schedahttps://meet.google.com/newo del prompt dell’account Google già in corso prima di aprirne un’altra. - Nessun audio: in Meet, instrada l’audio di microfono/altoparlante tramite il percorso del dispositivo audio virtuale usato da OpenClaw; usa dispositivi virtuali separati o un routing in stile Loopback per audio duplex pulito.
Note di installazione
Il valore predefinito di talk-back di Chrome usa due strumenti esterni:sox: utilità audio da riga di comando. Il Plugin usa comandi CoreAudio espliciti per il bridge audio PCM16 predefinito a 24 kHz.blackhole-2ch: driver audio virtuale per macOS. Crea il dispositivo audioBlackHole 2chche Chrome/Meet può instradare.
LGPL-2.0-only AND GPL-2.0-only; BlackHole è GPL-3.0. Se crei un
installer o un’appliance che include BlackHole con OpenClaw, rivedi i termini di licenza
upstream di BlackHole oppure ottieni una licenza separata da Existential Audio.
Trasporti
Chrome
Il trasporto Chrome apre l’URL Meet tramite il controllo browser di OpenClaw e partecipa come profilo browser OpenClaw con accesso effettuato. Su macOS, il Plugin verifica la presenza diBlackHole 2ch prima dell’avvio. Se configurato, esegue anche un comando di integrità
del bridge audio e un comando di avvio prima di aprire Chrome. Usa chrome quando
Chrome/audio sono sull’host Gateway; usa chrome-node quando Chrome/audio sono
su un nodo abbinato, come una VM macOS Parallels. Per Chrome locale, scegli il
profilo con browser.defaultProfile; chrome.browserProfile viene passato agli
host chrome-node.
BlackHole 2ch non è installato, la partecipazione fallisce con un errore di configurazione
invece di entrare silenziosamente senza un percorso audio.
Twilio
Il trasporto Twilio è un piano di chiamata rigoroso delegato al Plugin Voice Call. Non analizza le pagine Meet per cercare numeri di telefono. Usalo quando la partecipazione con Chrome non è disponibile o vuoi un fallback di accesso telefonico. Google Meet deve esporre un numero di accesso telefonico e un PIN per la riunione; OpenClaw non li scopre dalla pagina Meet. Abilita il Plugin Voice Call sull’host Gateway, non sul nodo Chrome:openclaw.json:
realtime.provider: "openai" con il Plugin provider OpenAI e
OPENAI_API_KEY se quello è il tuo provider voce in tempo reale.
Riavvia o ricarica il Gateway dopo aver abilitato voice-call; le modifiche alla configurazione del Plugin
non compaiono in un processo Gateway già in esecuzione finché non viene ricaricato.
Poi verifica:
googlemeet setup include controlli riusciti
twilio-voice-call-plugin, twilio-voice-call-credentials e
twilio-voice-call-webhook.
--dtmf-sequence quando la riunione richiede una sequenza personalizzata:
OAuth e verifiche preliminari
OAuth è opzionale per creare un link Meet perchégooglemeet create può ripiegare
sull’automazione del browser. Configura OAuth quando vuoi la creazione tramite API ufficiale,
la risoluzione degli spazi o i controlli preliminari della Meet Media API.
L’accesso alla Google Meet API usa OAuth utente: crea un client OAuth Google Cloud,
richiedi gli ambiti necessari, autorizza un account Google, quindi salva il
token di aggiornamento risultante nella configurazione del Plugin Google Meet oppure fornisci le
variabili d’ambiente OPENCLAW_GOOGLE_MEET_*.
OAuth non sostituisce il percorso di partecipazione Chrome. I trasporti Chrome e Chrome-node
partecipano comunque tramite un profilo Chrome con accesso effettuato, BlackHole/SoX e un nodo
connesso quando usi la partecipazione tramite browser. OAuth serve solo per il percorso ufficiale
della Google Meet API: creare spazi riunione, risolvere spazi ed eseguire controlli preliminari
della Meet Media API.
Crea credenziali Google
In Google Cloud Console:- Crea o seleziona un progetto Google Cloud.
- Abilita Google Meet REST API per quel progetto.
-
Configura la schermata di consenso OAuth.
- Interno è la soluzione più semplice per un’organizzazione Google Workspace.
- Esterno funziona per configurazioni personali/di test; mentre l’app è in Testing, aggiungi ogni account Google che autorizzerà l’app come utente di test.
-
Aggiungi gli ambiti richiesti da OpenClaw:
https://www.googleapis.com/auth/meetings.space.createdhttps://www.googleapis.com/auth/meetings.space.readonlyhttps://www.googleapis.com/auth/meetings.space.settingshttps://www.googleapis.com/auth/meetings.conference.media.readonly
-
Crea un ID client OAuth.
- Tipo di applicazione: Applicazione web.
-
URI di reindirizzamento autorizzato:
- Copia l’ID client e il segreto client.
meetings.space.created è richiesto da Google Meet spaces.create.
meetings.space.readonly consente a OpenClaw di risolvere URL/codici Meet in spazi.
meetings.space.settings consente a OpenClaw di passare impostazioni SpaceConfig come
accessType durante la creazione della stanza tramite API.
meetings.conference.media.readonly serve per le verifiche preliminari e il lavoro multimediale della Meet Media API;
Google potrebbe richiedere l’iscrizione alla Developer Preview per l’uso effettivo della Media API.
Se ti servono solo partecipazioni Chrome basate su browser, salta completamente OAuth.
Genera il token di aggiornamento
Configuraoauth.clientId e facoltativamente oauth.clientSecret, oppure passali come
variabili d’ambiente, poi esegui:
oauth con un token di aggiornamento. Usa PKCE,
callback localhost su http://localhost:8085/oauth2callback e un flusso manuale
copia/incolla con --manual.
Esempi:
oauth sotto la configurazione del Plugin Google Meet:
openclaw googlemeet auth login --json così il token di aggiornamento
ha l’ambito meetings.space.created.
Verifica OAuth con doctor
Esegui il doctor OAuth quando vuoi un controllo di integrità rapido e privo di segreti:ok, configured,
tokenSource, expiresAt e messaggi di controllo; non stampa il token di accesso,
il token di aggiornamento o il segreto client.
Risultati comuni:
| Controllo | Significato |
|---|---|
oauth-config | Sono presenti oauth.clientId più oauth.refreshToken, oppure un token di accesso memorizzato nella cache. |
oauth-token | Il token di accesso memorizzato nella cache è ancora valido, oppure il token di aggiornamento ha emesso un nuovo token di accesso. |
meet-spaces-get | Il controllo facoltativo --meeting ha risolto uno spazio Meet esistente. |
meet-spaces-create | Il controllo facoltativo --create-space ha creato un nuovo spazio Meet. |
spaces.create, esegui il controllo di creazione con effetti collaterali:
--create-space crea un URL Meet temporaneo. Usalo quando devi confermare che il progetto Google Cloud abbia l’API Meet abilitata e che l’account autorizzato abbia l’ambito meetings.space.created.
Per verificare l’accesso in lettura a uno spazio riunione esistente:
doctor --oauth --meeting e resolve-space verificano l’accesso in lettura a uno spazio esistente a cui l’account Google autorizzato può accedere. Un 403 da questi controlli di solito significa che l’API REST Google Meet è disabilitata, che al token di aggiornamento autorizzato manca l’ambito richiesto oppure che l’account Google non può accedere a quello spazio Meet. Un errore del token di aggiornamento significa che devi rieseguire openclaw googlemeet auth login --json e salvare il nuovo blocco oauth.
Non sono necessarie credenziali OAuth per il fallback del browser. In questa modalità, l’autenticazione Google proviene dal profilo Chrome con accesso eseguito sul node selezionato, non dalla configurazione OpenClaw.
Queste variabili d’ambiente sono accettate come fallback:
OPENCLAW_GOOGLE_MEET_CLIENT_IDoGOOGLE_MEET_CLIENT_IDOPENCLAW_GOOGLE_MEET_CLIENT_SECREToGOOGLE_MEET_CLIENT_SECRETOPENCLAW_GOOGLE_MEET_REFRESH_TOKENoGOOGLE_MEET_REFRESH_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKENoGOOGLE_MEET_ACCESS_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AToGOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATOPENCLAW_GOOGLE_MEET_DEFAULT_MEETINGoGOOGLE_MEET_DEFAULT_MEETINGOPENCLAW_GOOGLE_MEET_PREVIEW_ACKoGOOGLE_MEET_PREVIEW_ACK
spaces/{id} tramite spaces.get:
--meeting, artifacts e attendance usano per impostazione predefinita il record della conferenza più recente. Passa --all-conference-records quando vuoi ogni record conservato per quella riunione.
La ricerca nel calendario può risolvere l’URL della riunione da Google Calendar prima di leggere gli artefatti Meet:
--today cerca nel calendario primary di oggi un evento Calendar con un link Google Meet. Usa --event <query> per cercare testo dell’evento corrispondente e --calendar <id> per un calendario non principale. La ricerca nel calendario richiede un nuovo accesso OAuth che includa l’ambito in sola lettura degli eventi Calendar.
calendar-events mostra in anteprima gli eventi Meet corrispondenti e contrassegna l’evento che latest, artifacts, attendance o export sceglierà.
Se conosci già l’ID del record della conferenza, indirizzalo direttamente:
spaces.endActiveConference e richiede OAuth con l’ambito meetings.space.created per uno spazio che l’account autorizzato può gestire.
OpenClaw accetta come input un URL Meet, un codice riunione o spaces/{id} e lo risolve nella risorsa spazio dell’API prima di terminare la conferenza attiva.
È separato da googlemeet leave: leave interrompe la partecipazione locale/di sessione di OpenClaw, mentre end-active-conference chiede a Google Meet di terminare la conferenza attiva per lo spazio.
Scrivi un report leggibile:
artifacts restituisce i metadati del record della conferenza più i metadati delle risorse relative a partecipanti, registrazioni, trascrizioni, voci di trascrizione strutturate e note intelligenti quando Google li espone per la riunione. Usa --no-transcript-entries per saltare la ricerca delle voci nelle riunioni di grandi dimensioni. attendance espande i partecipanti in righe di sessione partecipante con orari di prima/ultima presenza, durata totale della sessione, flag di ritardo/uscita anticipata e risorse partecipante duplicate unite per utente con accesso eseguito o nome visualizzato. Passa --no-merge-duplicates per mantenere separate le risorse partecipante grezze, --late-after-minutes per regolare il rilevamento dei ritardi e --early-before-minutes per regolare il rilevamento delle uscite anticipate.
export scrive una cartella contenente summary.md, attendance.csv, transcript.md, artifacts.json, attendance.json e manifest.json.
manifest.json registra l’input scelto, le opzioni di esportazione, i record della conferenza, i file di output, i conteggi, l’origine del token, l’evento Calendar quando ne è stato usato uno e gli eventuali avvisi di recupero parziale. Passa --zip per scrivere anche un archivio portabile accanto alla cartella. Passa --include-doc-bodies per esportare il testo dei documenti Google Docs collegati a trascrizioni e note intelligenti tramite Google Drive files.export; questo richiede un nuovo accesso OAuth che includa l’ambito Drive Meet in sola lettura. Senza --include-doc-bodies, le esportazioni includono solo i metadati Meet e le voci di trascrizione strutturate. Se Google restituisce un errore parziale di artefatto, come un errore di elenco delle note intelligenti, di voce di trascrizione o di corpo documento Drive, il riepilogo e il manifesto mantengono l’avviso invece di far fallire l’intera esportazione.
Usa --dry-run per recuperare gli stessi dati di artefatti/presenze e stampare il JSON del manifesto senza creare la cartella o lo ZIP. È utile prima di scrivere un’esportazione grande o quando un agente ha bisogno solo di conteggi, record selezionati e avvisi.
Gli agenti possono anche creare lo stesso bundle tramite lo strumento google_meet:
"dryRun": true per restituire solo il manifesto di esportazione e saltare la scrittura dei file.
Gli agenti possono anche creare una stanza supportata da API con una policy di accesso esplicita:
test_listen prima di dichiarare che la riunione è utile:
OPENCLAW_LIVE_TEST=1abilita i test live protetti.OPENCLAW_GOOGLE_MEET_LIVE_MEETINGpunta a un URL Meet, codice ospaces/{id}conservato.OPENCLAW_GOOGLE_MEET_CLIENT_IDoGOOGLE_MEET_CLIENT_IDfornisce l’ID client OAuth.OPENCLAW_GOOGLE_MEET_REFRESH_TOKENoGOOGLE_MEET_REFRESH_TOKENfornisce il token di aggiornamento.- Facoltativo:
OPENCLAW_GOOGLE_MEET_CLIENT_SECRET,OPENCLAW_GOOGLE_MEET_ACCESS_TOKENeOPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATusano gli stessi nomi di fallback senza il prefissoOPENCLAW_.
https://www.googleapis.com/auth/meetings.space.readonly e
https://www.googleapis.com/auth/meetings.conference.media.readonly. La ricerca nel calendario richiede https://www.googleapis.com/auth/calendar.events.readonly. L’esportazione del corpo documento Drive richiede
https://www.googleapis.com/auth/drive.meet.readonly.
Crea un nuovo spazio Meet:
meeting uri, l’origine e la sessione di partecipazione. Con credenziali OAuth usa l’API Google Meet ufficiale. Senza credenziali OAuth usa come fallback il profilo browser con accesso eseguito del node Chrome fissato. Gli agenti possono usare lo strumento google_meet con action: "create" per creare e partecipare in un solo passaggio. Per la creazione del solo URL, passa "join": false.
Esempio di output JSON dal fallback del browser:
google_meet restituisce dettagli strutturati invece di una stringa semplice:
manualActionRequired: true, deve segnalare il manualActionMessage più il contesto node/scheda del browser e smettere di aprire nuove schede Meet finché l’operatore non completa il passaggio nel browser.
Esempio di output JSON dalla creazione tramite API:
manualActionRequired: true o un errore di fallback del browser e chiede all’operatore di completare l’accesso a Google prima di riprovare.
Imposta preview.enrollmentAcknowledged: true solo dopo aver confermato che il progetto Cloud, il principale OAuth e i partecipanti alla riunione sono iscritti al Programma Google Workspace Developer Preview per le API multimediali di Meet.
Configurazione
Il percorso comune dell’agente Chrome richiede solo il Plugin abilitato, BlackHole, SoX, una chiave per un provider di trascrizione in tempo reale e un provider TTS OpenClaw configurato. OpenAI è il provider di trascrizione predefinito; impostarealtime.voiceProvider su "google" e realtime.model per usare Google Gemini Live per la modalità bidi senza modificare il provider di trascrizione predefinito della modalità agente:
plugins.entries.google-meet.config:
defaultTransport: "chrome"defaultMode: "agent"("realtime"è accettato solo come alias di compatibilità legacy per"agent"; le nuove chiamate agli strumenti dovrebbero indicare"agent")chromeNode.node: ID/nome/IP del Node opzionale perchrome-nodechrome.audioBackend: "blackhole-2ch"chrome.guestName: "OpenClaw Agent": nome usato nella schermata ospite di Meet quando non è stato effettuato l’accessochrome.autoJoin: true: inserimento best-effort del nome ospite e clic su Partecipa ora tramite l’automazione browser di OpenClaw suchrome-nodechrome.reuseExistingTab: true: attiva una scheda Meet esistente invece di aprire duplicatichrome.waitForInCallMs: 20000: attende che la scheda Meet segnali lo stato in chiamata prima di attivare l’introduzione talk-backchrome.audioFormat: "pcm16-24khz": formato audio della coppia di comandi. Usa"g711-ulaw-8khz"solo per coppie di comandi legacy/personalizzate che emettono ancora audio telefonico.chrome.audioBufferBytes: 4096: buffer di elaborazione SoX per i comandi audio generati della coppia di comandi Chrome. È metà del buffer predefinito di SoX da 8192 byte, riducendo la latenza predefinita della pipe e lasciando margine per aumentarlo su host occupati. I valori inferiori al minimo di SoX vengono limitati a 17 byte.chrome.audioInputCommand: comando SoX che legge da CoreAudioBlackHole 2che scrive audio inchrome.audioFormatchrome.audioOutputCommand: comando SoX che legge audio inchrome.audioFormate scrive su CoreAudioBlackHole 2chchrome.bargeInInputCommand: comando opzionale del microfono locale che scrive PCM mono little-endian con segno a 16 bit per rilevare le interruzioni umane mentre la riproduzione dell’assistente è attiva. Questo attualmente si applica al bridge della coppia di comandichromeospitato dal Gateway.chrome.bargeInRmsThreshold: 650: livello RMS che viene conteggiato come interruzione umana suchrome.bargeInInputCommandchrome.bargeInPeakThreshold: 2500: livello di picco che viene conteggiato come interruzione umana suchrome.bargeInInputCommandchrome.bargeInCooldownMs: 900: ritardo minimo tra cancellazioni ripetute di interruzioni umanemode: "agent": modalità talk-back predefinita. Il parlato dei partecipanti viene trascritto dal provider di trascrizione in tempo reale configurato, inviato all’agente OpenClaw configurato in una sessione di sotto-agente per riunione e riprodotto vocalmente tramite il normale runtime TTS di OpenClaw.mode: "bidi": modalità di fallback con modello bidirezionale diretto in tempo reale. Il provider vocale in tempo reale risponde direttamente al parlato dei partecipanti e può chiamareopenclaw_agent_consultper risposte più approfondite/supportate da strumenti.mode: "transcribe": modalità di sola osservazione senza bridge talk-back.realtime.provider: "openai": fallback di compatibilità usato quando i campi provider con ambito sotto sono non impostati.realtime.transcriptionProvider: "openai": ID provider usato dalla modalitàagentper la trascrizione in tempo reale.realtime.voiceProvider: ID provider usato dalla modalitàbidiper la voce diretta in tempo reale. Impostalo su"google"per usare Gemini Live mantenendo la trascrizione in modalità agente su OpenAI.realtime.toolPolicy: "safe-read-only"realtime.instructions: brevi risposte vocali, conopenclaw_agent_consultper risposte più approfonditerealtime.introMessage: breve controllo vocale di disponibilità quando il bridge in tempo reale si connette; impostalo su""per partecipare in silenziorealtime.agentId: ID agente OpenClaw opzionale peropenclaw_agent_consult; il valore predefinito èmain
messages.tts.providers.elevenlabs.voiceId. Le risposte dell’agente possono anche usare direttive per risposta [[tts:voiceId=... model=eleven_v3]] quando gli override del modello TTS sono abilitati, ma la configurazione è l’impostazione predefinita deterministica per le riunioni. Alla partecipazione, i log dovrebbero mostrare transcriptionProvider=elevenlabs e ogni risposta parlata dovrebbe registrare provider=elevenlabs model=eleven_v3 voice=<voiceId>.
Configurazione solo Twilio:
voiceCall.enabled ha valore predefinito true; con il trasporto Twilio delega la chiamata PSTN effettiva, DTMF e il saluto introduttivo al Plugin Voice Call. Voice Call riproduce la sequenza DTMF prima di aprire il flusso multimediale in tempo reale, poi usa il testo introduttivo salvato come saluto iniziale in tempo reale. Se voice-call non è abilitato, Google Meet può comunque validare e registrare il piano di composizione, ma non può effettuare la chiamata Twilio.
Strumento
Gli agenti possono usare lo strumentogoogle_meet:
transport: "chrome" quando Chrome viene eseguito sull’host Gateway. Usa transport: "chrome-node" quando Chrome viene eseguito su un Node associato, ad esempio una VM Parallels. In entrambi i casi, i provider del modello e openclaw_agent_consult vengono eseguiti sull’host Gateway, quindi le credenziali del modello restano lì. Con il valore predefinito mode: "agent", il provider di trascrizione in tempo reale gestisce l’ascolto, l’agente OpenClaw configurato produce la risposta e il normale TTS di OpenClaw la pronuncia in Meet. Usa mode: "bidi" quando vuoi che il modello vocale in tempo reale risponda direttamente. Il valore grezzo mode: "realtime" resta accettato come alias di compatibilità legacy per mode: "agent", ma non è più pubblicizzato nello schema dello strumento dell’agente. I log della modalità agente includono il provider/modello di trascrizione risolto all’avvio del bridge e il provider TTS, il modello, la voce, il formato di output e la frequenza di campionamento dopo ogni risposta sintetizzata.
Usa action: "status" per elencare le sessioni attive o ispezionare un ID sessione. Usa action: "speak" con sessionId e message per far parlare immediatamente l’agente in tempo reale. Usa action: "test_speech" per creare o riutilizzare la sessione, attivare una frase nota e restituire lo stato di salute inCall quando l’host Chrome può segnalarlo. test_speech forza sempre mode: "agent" e fallisce se viene richiesto di essere eseguito in mode: "transcribe" perché le sessioni di sola osservazione intenzionalmente non possono emettere parlato. Il risultato speechOutputVerified si basa sull’aumento dei byte di output audio in tempo reale durante questa chiamata di test, quindi una sessione riutilizzata con audio precedente non conta come nuovo controllo vocale riuscito. Usa action: "leave" per contrassegnare una sessione come terminata.
status include lo stato di salute di Chrome quando disponibile:
inCall: Chrome sembra essere all’interno della chiamata MeetmicMuted: stato best-effort del microfono MeetmanualActionRequired/manualActionReason/manualActionMessage: il profilo del browser richiede accesso manuale, ammissione da parte dell’host Meet, autorizzazioni o riparazione del controllo browser prima che il parlato possa funzionarespeechReady/speechBlockedReason/speechBlockedMessage: indica se il parlato Chrome gestito è consentito ora.speechReady: falsesignifica che OpenClaw non ha inviato la frase introduttiva/di test nel bridge audio.providerConnected/realtimeReady: stato del bridge vocale in tempo realelastInputAt/lastOutputAt: ultimo audio visto dal bridge o inviato al bridgeaudioOutputRouted/audioOutputDeviceLabel: indica se l’output multimediale della scheda Meet è stato instradato attivamente al dispositivo BlackHole usato dal bridgelastSuppressedInputAt/suppressedInputBytes: input di loopback ignorato mentre la riproduzione dell’assistente è attiva
Modalità agente e bidi
La modalità Chromeagent è ottimizzata per il comportamento “il mio agente è nella riunione”. Il provider di trascrizione in tempo reale ascolta l’audio della riunione, le trascrizioni finali dei partecipanti vengono instradate attraverso l’agente OpenClaw configurato e la risposta viene pronunciata tramite il normale runtime TTS di OpenClaw. Imposta mode: "bidi" quando vuoi che il modello vocale in tempo reale risponda direttamente. I frammenti di trascrizione finali vicini vengono uniti prima della consultazione, così un singolo turno parlato non produce più risposte parziali obsolete. Anche l’input in tempo reale viene soppresso mentre l’audio dell’assistente in coda è ancora in riproduzione, e gli echi recenti di trascrizione simili all’assistente vengono ignorati prima della consultazione dell’agente, così il local loopback di BlackHole non fa rispondere l’agente al proprio parlato.
| Modalità | Chi decide la risposta | Percorso di output vocale | Usala quando |
|---|---|---|---|
agent | L’agente OpenClaw configurato | Normale runtime TTS di OpenClaw | Vuoi il comportamento “il mio agente è nella riunione” |
bidi | Il modello vocale in tempo reale | Risposta audio del provider vocale in tempo reale | Vuoi il loop vocale conversazionale a latenza più bassa |
bidi, quando il modello in tempo reale richiede ragionamento più approfondito, informazioni aggiornate o i normali strumenti OpenClaw, può chiamare openclaw_agent_consult.
Lo strumento consult esegue dietro le quinte il normale agente OpenClaw con il contesto recente della trascrizione della riunione e restituisce una risposta parlata concisa. In modalità agent, OpenClaw invia quella risposta direttamente al runtime TTS; in modalità bidi, il modello vocale realtime può pronunciare il risultato di consult nella riunione. Usa lo stesso meccanismo consult condiviso di Voice Call.
Per impostazione predefinita, i consult vengono eseguiti sull’agente main. Imposta realtime.agentId quando una corsia Meet deve consultare un workspace agente OpenClaw dedicato, impostazioni predefinite del modello, policy degli strumenti, memoria e cronologia della sessione.
I consult in modalità agente usano una chiave di sessione per riunione agent:<id>:subagent:google-meet:<session>, così le domande di follow-up mantengono il contesto della riunione ereditando al tempo stesso la normale policy dell’agente dall’agente configurato.
realtime.toolPolicy controlla l’esecuzione di consult:
safe-read-only: espone lo strumento consult e limita l’agente normale aread,web_search,web_fetch,x_search,memory_searchememory_get.owner: espone lo strumento consult e consente all’agente normale di usare la normale policy degli strumenti dell’agente.none: non espone lo strumento consult al modello vocale realtime.
Checklist dei test live
Usa questa sequenza prima di affidare una riunione a un agente non presidiato:googlemeet setupè tutto verde.googlemeet setupincludechrome-node-connectedquando Chrome-node è il trasporto predefinito o un nodo è fissato.nodes statusmostra il nodo selezionato connesso.- Il nodo selezionato pubblicizza sia
googlemeet.chromesiabrowser.proxy. - La scheda Meet entra nella chiamata e
test-speechrestituisce lo stato di salute di Chrome coninCall: true.
googlemeet setupinclude controlli verditwilio-voice-call-plugin,twilio-voice-call-credentialsetwilio-voice-call-webhook.voicecallè disponibile nella CLI dopo il ricaricamento del Gateway.- La sessione restituita ha
transport: "twilio"e untwilio.voiceCallId. openclaw logs --followmostra il TwiML DTMF servito prima del TwiML realtime, quindi un bridge realtime con il saluto iniziale in coda.googlemeet leave <sessionId>termina la chiamata vocale delegata.
Risoluzione dei problemi
L’agente non vede lo strumento Google Meet
Conferma che il Plugin sia abilitato nella configurazione del Gateway e ricarica il Gateway:plugins.entries.google-meet, riavvia o ricarica il Gateway. L’agente in esecuzione vede solo gli strumenti Plugin registrati dal processo Gateway corrente.
Sugli host Gateway non macOS, lo strumento rivolto all’agente google_meet resta visibile, ma le azioni di risposta audio con Chrome locale vengono bloccate prima di raggiungere il bridge audio. L’audio di risposta con Chrome locale attualmente dipende da BlackHole 2ch su macOS, quindi gli agenti Linux dovrebbero usare mode: "transcribe", l’accesso telefonico Twilio o un host chrome-node macOS invece del percorso agente predefinito con Chrome locale.
Nessun nodo compatibile con Google Meet connesso
Sull’host del nodo, esegui:googlemeet.chrome più browser.proxy. La configurazione Gateway deve consentire quei comandi del nodo:
googlemeet setup fallisce su chrome-node-connected o il log del Gateway segnala gateway token mismatch, reinstalla o riavvia il nodo con il token Gateway corrente. Per un Gateway LAN questo di solito significa:
Il browser si apre ma l’agente non riesce a entrare
Eseguigooglemeet test-listen per accessi in sola osservazione o googlemeet test-speech per accessi realtime, quindi ispeziona lo stato di salute di Chrome restituito. Se una delle due sonde segnala manualActionRequired: true, mostra manualActionMessage all’operatore e smetti di riprovare finché l’azione nel browser non è completata.
Azioni manuali comuni:
- Accedi al profilo Chrome.
- Ammetti l’ospite dall’account host di Meet.
- Concedi a Chrome le autorizzazioni per microfono/fotocamera quando compare il prompt di autorizzazione nativo di Chrome.
- Chiudi o ripara una finestra di dialogo di autorizzazione Meet bloccata.
Creazione della riunione non riuscita
googlemeet create usa prima l’endpoint Google Meet API spaces.create quando sono configurate credenziali OAuth. Senza credenziali OAuth, ripiega sul browser del nodo Chrome fissato. Conferma:
- Per la creazione tramite API:
oauth.clientIdeoauth.refreshTokensono configurati, oppure sono presenti variabili di ambienteOPENCLAW_GOOGLE_MEET_*corrispondenti. - Per la creazione tramite API: il token di aggiornamento è stato emesso dopo l’aggiunta del supporto alla creazione. I token più vecchi potrebbero non avere lo scope
meetings.space.created; rieseguiopenclaw googlemeet auth login --jsone aggiorna la configurazione del Plugin. - Per il fallback browser:
defaultTransport: "chrome-node"echromeNode.nodepuntano a un nodo connesso conbrowser.proxyegooglemeet.chrome. - Per il fallback browser: il profilo Chrome OpenClaw su quel nodo ha effettuato l’accesso a Google e può aprire
https://meet.google.com/new. - Per il fallback browser: i tentativi riutilizzano una scheda esistente
https://meet.google.com/newo una scheda di prompt dell’account Google prima di aprire una nuova scheda. Se un agente va in timeout, riprova la chiamata allo strumento invece di aprire manualmente un’altra scheda Meet. - Per il fallback browser: se lo strumento restituisce
manualActionRequired: true, usabrowser.nodeId,browser.targetId,browserUrlemanualActionMessagerestituiti per guidare l’operatore. Non riprovare in ciclo finché quell’azione non è completata. - Per il fallback browser: se Meet mostra “Do you want people to hear you in the meeting?”, lascia la scheda aperta. OpenClaw dovrebbe fare clic su Use microphone o, per il fallback di sola creazione, su Continue without microphone tramite automazione del browser e continuare ad attendere l’URL Meet generato. Se non può farlo, l’errore dovrebbe menzionare
meet-audio-choice-required, nongoogle-login-required.
L’agente entra ma non parla
Controlla il percorso realtime:mode: "agent" per il normale percorso di risposta audio STT -> agente OpenClaw -> TTS, oppure mode: "bidi" per il fallback vocale realtime diretto. mode: "transcribe" intenzionalmente non avvia il bridge di risposta audio. Per il debug in sola osservazione, esegui openclaw googlemeet status --json <session-id> dopo che i partecipanti parlano e controlla captioning, transcriptLines e lastCaptionText. Se inCall è true ma transcriptLines resta a 0, i sottotitoli di Meet potrebbero essere disabilitati, nessuno ha parlato da quando l’osservatore è stato installato, l’interfaccia utente di Meet è cambiata o i sottotitoli live non sono disponibili per la lingua o l’account della riunione.
googlemeet test-speech controlla sempre il percorso realtime e segnala se per quella invocazione sono stati osservati byte di output del bridge. Se speechOutputVerified è false e speechOutputTimedOut è true, il provider realtime potrebbe aver accettato l’enunciato, ma OpenClaw non ha visto nuovi byte di output raggiungere il bridge audio Chrome.
Verifica anche:
- Una chiave provider realtime è disponibile sull’host Gateway, come
OPENAI_API_KEYoGEMINI_API_KEY. BlackHole 2chè visibile sull’host Chrome.soxesiste sull’host Chrome.- Il microfono e l’altoparlante Meet sono instradati attraverso il percorso audio virtuale usato da OpenClaw.
doctordovrebbe mostraremeet output routed: yesper accessi realtime con Chrome locale.
googlemeet doctor [session-id] stampa la sessione, il nodo, lo stato in chiamata, il motivo dell’azione manuale, la connessione al provider realtime, realtimeReady, l’attività audio in input/output, gli ultimi timestamp audio, i contatori di byte e l’URL del browser. Usa googlemeet status [session-id] --json quando ti serve il JSON grezzo. Usa googlemeet doctor --oauth quando devi verificare l’aggiornamento OAuth di Google Meet senza esporre token; aggiungi --meeting o --create-space quando ti serve anche una prova Google Meet API.
Se un agente è andato in timeout e puoi vedere una scheda Meet già aperta, ispeziona quella scheda senza aprirne un’altra:
recover_current_tab. Porta in primo piano e ispeziona una scheda Meet esistente per il trasporto selezionato. Con chrome, usa il controllo del browser locale tramite il Gateway; con chrome-node, usa il nodo Chrome configurato. Non apre una nuova scheda né crea una nuova sessione; segnala il blocco corrente, come stato di accesso, ammissione, autorizzazioni o scelta audio. Il comando CLI parla con il Gateway configurato, quindi il Gateway deve essere in esecuzione; chrome-node richiede anche che il nodo Chrome sia connesso.
I controlli di configurazione Twilio falliscono
twilio-voice-call-plugin fallisce quando voice-call non è consentito o non è abilitato. Aggiungilo a plugins.allow, abilita plugins.entries.voice-call e ricarica il Gateway.
twilio-voice-call-credentials fallisce quando nel backend Twilio mancano account SID, token di autenticazione o numero chiamante. Impostali sull’host Gateway:
twilio-voice-call-webhook fallisce quando voice-call non ha esposizione Webhook pubblica, o quando publicUrl punta a local loopback o a spazio di rete privata. Imposta plugins.entries.voice-call.config.publicUrl sull’URL pubblico del provider oppure configura un’esposizione tunnel/Tailscale per voice-call.
Gli URL loopback e privati non sono validi per i callback dei carrier. Non usare localhost, 127.0.0.1, 0.0.0.0, 10.x, 172.16.x-172.31.x, 192.168.x, 169.254.x, fc00::/7 o fd00::/8 come publicUrl.
Per un URL pubblico stabile:
voicecall smoke per impostazione predefinita verifica solo la prontezza. Per simulare l’esecuzione con un numero specifico:
--yes solo quando vuoi intenzionalmente effettuare una chiamata di
notifica in uscita live:
La chiamata Twilio parte ma non entra mai nella riunione
Conferma che l’evento Meet esponga i dettagli di accesso telefonico. Passa il numero di accesso esatto e il PIN oppure una sequenza DTMF personalizzata:w iniziali o virgole in --dtmf-sequence se il provider richiede una pausa
prima di inserire il PIN.
Se la chiamata telefonica viene creata ma l’elenco partecipanti di Meet non mostra mai il
partecipante in accesso telefonico:
- Esegui
openclaw googlemeet doctor <session-id>per confermare l’ID della chiamata Twilio delegata, se il DTMF è stato accodato e se è stato richiesto il saluto introduttivo. - Esegui
openclaw voicecall status --call-id <id>e conferma che la chiamata sia ancora attiva. - Esegui
openclaw voicecall taile verifica che i Webhook Twilio arrivino al Gateway. - Esegui
openclaw logs --followe cerca la sequenza Twilio Meet: Google Meet delega l’accesso, Voice Call memorizza e serve il TwiML DTMF pre-connessione, Voice Call serve il TwiML realtime per la chiamata Twilio, quindi Google Meet richiede il parlato introduttivo convoicecall.speak. - Riesegui
openclaw googlemeet setup --transport twilio; è richiesto un controllo di configurazione riuscito, ma non dimostra che la sequenza del PIN della riunione sia corretta. - Conferma che il numero di accesso appartenga allo stesso invito Meet e alla stessa regione del PIN.
- Aumenta
voiceCall.dtmfDelayMsrispetto al valore predefinito di 12 secondi se Meet risponde lentamente o se la trascrizione della chiamata mostra ancora il prompt che chiede un PIN dopo l’invio del DTMF pre-connessione. - Se il partecipante entra ma non senti il saluto, controlla
openclaw logs --followper la richiestavoicecall.speakpost-DTMF e la riproduzione TTS del flusso multimediale oppure il fallback Twilio<Say>. Se la trascrizione della chiamata contiene ancora “enter the meeting PIN”, il tratto telefonico non è ancora entrato nella stanza Meet, quindi i partecipanti alla riunione non sentiranno il parlato.
plugins.entries.voice-call.config.publicUrl o il tunnel configurato.
Vedi Risoluzione dei problemi delle chiamate vocali.
Note
L’API multimediale ufficiale di Google Meet è orientata alla ricezione, quindi parlare in una chiamata Meet richiede ancora un percorso partecipante. Questo Plugin mantiene visibile quel confine: Chrome gestisce la partecipazione tramite browser e l’instradamento audio locale; Twilio gestisce la partecipazione tramite accesso telefonico. Le modalità talk-back di Chrome richiedonoBlackHole 2ch più una delle seguenti opzioni:
chrome.audioInputCommandpiùchrome.audioOutputCommand: OpenClaw possiede il bridge e convoglia l’audio inchrome.audioFormattra quei comandi e il provider selezionato. La modalità agent usa trascrizione realtime più TTS regolare; la modalità bidi usa il provider vocale realtime. Il percorso Chrome predefinito è PCM16 a 24 kHz conchrome.audioBufferBytes: 4096; G.711 mu-law a 8 kHz resta disponibile per le coppie di comandi legacy.chrome.audioBridgeCommand: un comando bridge esterno possiede l’intero percorso audio locale e deve terminare dopo aver avviato o convalidato il proprio daemon. Questo è valido solo perbidiperché la modalitàagentrichiede accesso diretto alla coppia di comandi per il TTS.
google_meet in modalità agent, la sessione del consulente
della riunione effettua il fork della trascrizione corrente del chiamante prima di rispondere al parlato dei
partecipanti. La sessione Meet rimane comunque separata (agent:<agentId>:subagent:google-meet:<sessionId>)
così i follow-up della riunione non mutano direttamente la trascrizione del chiamante.
Per un audio duplex pulito, instrada l’output di Meet e il microfono di Meet attraverso dispositivi
virtuali separati o un grafo di dispositivi virtuali in stile Loopback. Un singolo dispositivo
BlackHole condiviso può far rientrare l’audio degli altri partecipanti nella chiamata.
Con il bridge Chrome a coppia di comandi, chrome.bargeInInputCommand può ascoltare un
microfono locale separato e cancellare la riproduzione dell’assistente quando l’umano inizia
a parlare. Questo mantiene il parlato umano davanti all’output dell’assistente anche quando l’input
loopback BlackHole condiviso è temporaneamente soppresso durante la riproduzione dell’assistente.
Come chrome.audioInputCommand e chrome.audioOutputCommand, è un
comando locale configurato dall’operatore. Usa un percorso di comando attendibile esplicito o
un elenco di argomenti e non puntarlo a script in posizioni non attendibili.
googlemeet speak attiva il bridge audio talk-back attivo per una sessione Chrome.
googlemeet leave arresta quel bridge. Per le sessioni Twilio delegate
tramite il Plugin Voice Call, leave riaggancia anche la chiamata vocale sottostante.
Usa googlemeet end-active-conference quando vuoi anche chiudere la conferenza
Google Meet attiva per uno spazio gestito tramite API.