Files
meet-hub/n8n-workflows/create-google-meet-event.json
dwindown 631dc9a083 Add Google Calendar integration via Supabase Edge Functions
- Create new create-google-meet-event edge function
- Use service account authentication (no OAuth needed)
- Add google_service_account_json field to platform_settings
- Add admin UI for service account JSON configuration
- Include test connection button in Integrasi tab
- Add comprehensive setup documentation
- Keep n8n workflows as alternative option

Features:
- Direct Google Calendar API integration
- JWT authentication with service account
- Auto-create Google Meet links
- No external dependencies needed
- Simple configuration via admin panel

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-23 01:32:23 +07:00

90 lines
2.3 KiB
JSON

{
"name": "Create Google Meet Event - Access Hub",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "create-meet",
"responseMode": "responseNode",
"options": {}
},
"id": "webhook-trigger",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1.1,
"position": [250, 300],
"webhookId": "create-meet-webhook"
},
{
"parameters": {
"operation": "create",
"calendarId": "={{ $json.calendar_id }}",
"title": "=Konsultasi: {{ $json.topic }} - {{ $json.client_name }}",
"description": "=Client: {{ $json.client_email }}\n\nNotes: {{ $json.notes }}\n\nSlot ID: {{ $json.slot_id }}",
"location": "Google Meet",
"attendees": "={{ $json.client_email }}",
"startsAt": "={{ $json.date }}T{{ $json.start_time }}",
"endsAt": "={{ $json.date }}T{{ $json.end_time }}",
"sendUpdates": "all",
"conferenceDataVersion": 1,
"options": {}
},
"id": "google-calendar",
"name": "Google Calendar",
"type": "n8n-nodes-base.googleCalendar",
"typeVersion": 2,
"position": [470, 300],
"credentials": {
"googleCalendarApi": {
"id": "REPLACE_WITH_YOUR_CREDENTIAL_ID",
"name": "Google Calendar account (Service Account)"
}
}
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ { \"meet_link\": $json.hangoutLink, \"event_id\": $json.id, \"html_link\": $json.htmlLink } }}"
},
"id": "respond-to-webhook",
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [690, 300]
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Google Calendar",
"type": "main",
"index": 0
}
]
]
},
"Google Calendar": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"tags": [],
"triggerCount": 1,
"updatedAt": "2025-12-23T00:00:00.000Z",
"versionId": "1"
}