- 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>
90 lines
2.3 KiB
JSON
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"
|
|
}
|