Google calendar using API only.
# support
a
I’m working on integrating Google Calendar with a VAPI assistant, my goal is to let users connect with their calendar without using the vapi dashboard What I’ve Got: Google OAuth2 credentials are set up in my server. Users authorize via our frontend; we store access + refresh tokens securely I want each assistant to have calendar access specific to each user What I’m Trying to Figure Out: What exactly should go in authorizationId for google.calendar.oauth2-authorization in VAPI API? What's the difference between dashboard-level Provider Keys and the credentials array in the assistant config api? Is there any clean way to make this multi-user without touching the VAPI dashboard?
v
Thanks for your detailed question! Based on the documentation, Vapi's standard Google Calendar integration expects OAuth to be completed via the dashboard, and it's unclear if you can inject your own access/refresh tokens directly via API for a fully multi-user, API-only setup. Could you clarify if you are looking for a documented, officially supported way to provide user-specific Google OAuth tokens via API (bypassing the dashboard), or are you open to workarounds if official support is not available? This will help determine if we should focus on supported methods or explore possible (but undocumented) approaches. Sources: - [Vapi Google Calendar Docs](https://docs.vapi.ai/tools/google-calendar) - [Vapi Server Authentication Docs](https://docs.vapi.ai/server-url/server-authentication)
k
Hello Ahmed, I have received your email and would like to respond to it here. would you prefer to continue our conversation in person or via email?
a
Whener you think is faster. Both works for me.
We can discuss here so anyone else searching for this issue can see - up to you anyways.
v
Currently, Vapi's Google Calendar integration requires OAuth to be completed via the dashboard, and there is no documented way to inject user-specific access/refresh tokens or set
authorizationId
via API only.
- Dashboard-level Provider Keys are global and managed in the dashboard. - The
credentials
array
in the assistant config lets you reference credentials, but these must be set up in the dashboard first. There is no officially supported, clean multi-user API-only flow for Google Calendar integration at this time. [See docs](https://docs.vapi.ai/tools/google-calendar) Source: - [Vapi Google Calendar Docs](https://docs.vapi.ai/tools/google-calendar)
Currently, Vapi's Google Calendar integration requires OAuth to be completed via the dashboard, and there is no documented way to inject user-specific OAuth tokens or set
authorizationId
via API for a fully multi-user, API-only setup.
The dashboard-level Provider Keys are for organization-wide integrations, while the
credentials
array in the assistant config allows for assistant-level credentials—but both rely on dashboard-managed credentials. If you need true multi-user support without dashboard interaction, this is not officially supported as of now. Consider monitoring the [Vapi Google Calendar documentation](https://docs.vapi.ai/tools/google-calendar) for future updates or reach out to Vapi support for feature requests. Sources: - [Vapi Google Calendar Docs](https://docs.vapi.ai/tools/google-calendar) - [Vapi Server Authentication Docs](https://docs.vapi.ai/server-url/server-authentication)
s
You want to integrate Google Calendar with VAPI assistants where: - Multiple users each have their own Google Calendar access - OAuth2 flow is handled on your side (not through VAPI dashboard) - Each assistant instance can access its specific user's calendar independently - Native VAPI tools are preferred over external tool calls ### Solution Brief YES, this is absolutely possible! Here's how: 1. Use Nango OAuth2 flow on your side to get authorization IDs 2. Pass authorization IDs dynamically through transient assistant credentials 3. VAPI's Google Calendar tools will work natively with your credentials 4. Scale to unlimited users without touching VAPI dashboard ### Detailed Implementation Steps Step 1: Set Up Nango Integration - Get Nango account and configure Google Calendar integration - Note down your Nango secret key and integration ID Step 2: Handle OAuth2 Flow (Your Side) - Create Nango session for user OAuth2 - Response gives you session_token - Direct user to Nango OAuth2 flow with this token - After completion, you get connectionId (this is your authorizationId) Step 3: Get Authorization ID - Retrieve the connection after OAuth2 completion - Response contains connectionId - this is your authorizationId Step 4: Use with VAPI Transient Assistant - Make VAPI call with dynamic Google Calendar credentials
Copy code
curl -X POST "https://api.vapi.ai/call" \
  -H "Authorization: Bearer YOUR_VAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "assistant": {
      "credentials": [
        {
          "provider": "google.calendar.oauth2-authorization",
          "authorizationId": "CONNECTION_ID_FROM_NANGO"
        }
      ]
    }
  }'
Step 5: Test Calendar Integration - The assistant can now access the user's Google Calendar - Test by asking: "Schedule a meeting for tomorrow at 2 PM" - VAPI will use your authorizationId to create the calendar event This approach gives you exactly what you need: multi-user Google Calendar integration with your own OAuth2 flow, using VAPI's native tools, without touching the dashboard. Let me know if you need any clarification on the implementation!
v
To enable multi-user Google Calendar integration via API only (no dashboard): Add the user's Nango
connectionId
as the
authorizationId
in your assistant's credentials when making a VAPI call:
Copy code
json
"credentials": [
  {
    "provider": "google.calendar.oauth2-authorization",
    "authorizationId": "CONNECTION_ID_FROM_NANGO"
  }
]
This lets each assistant access the correct user's calendar using VAPI's native tools—no dashboard setup required. Source: - [Vapi Google Calendar Docs](https://docs.vapi.ai/tools/google-calendar)
17 Views