calendar

{ "calendar_integrations": { "title": "Calendar Integrations", "description": "Synchronize appointments and events with your calendar systems", "help_articles": [ "getting-started-with-integrations", "calendar-integration-guide" ], "sections": { "overview": { "title": "About Calendar Integrations", "content": "Keep your notarial appointments synchronized across all your calendars to prevent double bookings and provide easy mobile access. When you create an appointment in the platform, it automatically appears in your connected calendar. Changes made in either location sync bidirectionally." }, "providers": { "title": "Supported Calendar Providers", "items": { "google": { "title": "Google Calendar", "description": "Two-way sync with Google Calendar for Gmail and Google Workspace users", "authentication": "OAuth 2.0", "setup_time": "3 minutes", "features": [ "Real-time synchronization via webhooks", "Multiple calendar support", "Color-coded event types", "Mobile access via Google Calendar app", "Recurring event support", "Attendee management" ], "pricing": "Free with Google account" }, "outlook": { "title": "Outlook Calendar", "description": "Connect with Microsoft Exchange Online and Office 365 calendars", "authentication": "OAuth 2.0", "setup_time": "5 minutes", "features": [ "Exchange and Office 365 support", "Meeting room and resource booking", "Outlook desktop integration", "Category/color management", "Free/busy visibility", "Teams meeting integration" ], "pricing": "Included with Microsoft 365" }, "calendly": { "title": "Calendly", "description": "Client self-scheduling with automated appointment booking", "authentication": "API Key + Webhook Signature", "setup_time": "5 minutes", "features": [ "Automated client booking", "Payment collection", "Reminder notifications", "Cancellation handling", "Meeting type configuration", "Buffer time between appointments" ], "pricing": "Free tier available, Professional recommended" } } }, "setup": { "title": "Setup Instructions", "steps": { "google": [ "Go to Settings → Integrations → Calendar", "Click 'Connect' under Google Calendar", "Sign in to your Google account", "Grant calendar permissions", "Select calendars to sync", "Configure sync settings", "Click 'Test Connection'", "Save your configuration" ], "outlook": [ "Go to Settings → Integrations → Calendar", "Click 'Connect' under Outlook Calendar", "Sign in to your Microsoft account", "Grant calendar permissions", "Select calendars to sync", "Configure sync settings", "Click 'Test Connection'", "Save your configuration" ], "calendly": [ "Log in to your Calendly account", "Navigate to Integrations → API & Webhooks", "Copy your API Key and Webhook Signing Key", "Go to Settings → Integrations → Calendar", "Click 'Connect' under Calendly", "Enter your credentials", "Configure webhook URL", "Click 'Test Connection'", "Save your configuration" ] } }, "sync_settings": { "title": "Synchronization Settings", "options": { "direction": { "title": "Sync Direction", "description": "Choose how events flow between systems", "choices": [ { "value": "bidirectional", "label": "Two-way (recommended)", "description": "Events sync in both directions" }, { "value": "from_integration", "label": "Import only", "description": "Only receive events from provider" }, { "value": "to_integration", "label": "Export only", "description": "Only send events to provider" } ] }, "frequency": { "title": "Sync Frequency", "description": "How often to check for changes", "choices": [ { "value": "realtime", "label": "Real-time", "description": "Instant via webhooks" }, { "value": "hourly", "label": "Hourly", "description": "Every hour" }, { "value": "daily", "label": "Daily", "description": "Once per day" }, { "value": "manual", "label": "Manual", "description": "Only when triggered" } ] }, "conflicts": { "title": "Conflict Resolution", "description": "What to do when same time is booked in both systems", "choices": [ { "value": "ask", "label": "Ask me", "description": "Prompt to choose" }, { "value": "platform", "label": "Platform wins", "description": "Prefer platform events" }, { "value": "provider", "label": "Calendar wins", "description": "Prefer provider events" }, { "value": "both", "label": "Create both", "description": "Keep both with warnings" } ] }, "window": { "title": "Sync Window", "description": "How far back and forward to sync events", "presets": [ { "label": "Past 30 days, Future 90 days", "past": 30, "future": 90 }, { "label": "Past 90 days, Future 180 days", "past": 90, "future": 180 }, { "label": "Past 1 year, Future 1 year", "past": 365, "future": 365 } ] } } }, "event_settings": { "title": "Event Settings", "options": { "visibility": { "title": "Default Visibility", "description": "Who can see synced events", "choices": [ { "value": "public", "label": "Public", "description": "Anyone with calendar access" }, { "value": "private", "label": "Private", "description": "Only you can see" }, { "value": "confidential", "label": "Confidential", "description": "Hidden details" } ] }, "reminders": { "title": "Default Reminders", "description": "When to send appointment reminders", "presets": [ { "label": "1 day before", "minutes": 1440 }, { "label": "1 hour before", "minutes": 60 }, { "label": "15 minutes before", "minutes": 15 }, { "label": "Custom", "minutes": null } ] }, "buffer_time": { "title": "Buffer Time", "description": "Add time before/after appointments", "presets": [ { "label": "None", "minutes": 0 }, { "label": "15 minutes", "minutes": 15 }, { "label": "30 minutes", "minutes": 30 }, { "label": "1 hour", "minutes": 60 } ] } } }, "quick_actions": { "title": "Quick Actions", "actions": [ { "action": "Sync Now", "description": "Manually trigger calendar synchronization" }, { "action": "Test Connection", "description": "Verify calendar access and permissions" }, { "action": "View Log", "description": "Check recent sync history and any errors" }, { "action": "Pause Sync", "description": "Temporarily stop synchronization" }, { "action": "Reconnect", "description": "Refresh authentication and connection" } ] }, "best_practices": { "title": "Calendar Best Practices", "tips": [ "Use different colors for different appointment types ( signings, consultations, closings)", "Set appropriate default reminder times based on appointment type", "Include complete details in calendar events (location, parking, documents needed)", "Regularly check for sync conflicts and resolve them promptly", "Keep calendar names descriptive and consistent across team members", "Avoid editing the same event in multiple places simultaneously", "Let sync complete before making additional changes", "Monitor webhook expiration and renew before expiry" ] }, "troubleshooting": { "title": "Common Issues & Solutions", "solutions": [ { "issue": "Events not syncing", "solutions": [ "Check sync status in integration settings", "Click 'Sync Now' for manual sync", "Verify calendar is selected in settings", "Check network connection", "Review error logs for specific issues" ] }, { "issue": "Duplicate events", "solutions": [ "Check sync direction settings", "Review conflict resolution preference", "Use 'Merge Duplicates' tool in settings", "Avoid connecting multiple calendars for same purpose" ] }, { "issue": "Permission denied", "solutions": [ "Re-authenticate with calendar provider", "Check OAuth scopes in provider settings", "Ensure calendar sharing permissions are correct", "Verify account hasn't been locked or disabled" ] }, { "issue": "Webhook expired", "solutions": [ "Google webhooks expire every 7 days (auto-renews)", "Outlook webhooks expire every 3 days (auto-renews)", "Click 'Reconnect' if auto-renewal fails", "Check service status for provider outages" ] }, { "issue": "Time zone mismatch", "solutions": [ "Verify time zone settings in both systems", "Check for daylight saving time differences", "Use consistent time zone across team", "Confirm event times display correctly" ] } ] }, "webhook_info": { "title": "Webhook Configuration", "content": "Real-time synchronization uses webhooks for instant updates. Your webhook URL is automatically configured during setup. Webhooks must be renewed periodically: Google (7 days), Outlook (3 days). The system handles automatic renewal before expiration." }, "security": { "title": "Security & Privacy", "features": [ "OAuth 2.0 secure authentication", "Encrypted credential storage", "No calendar data shared with third parties", "Agency-scoped data isolation", "Auto-disconnect on account removal", "Audit logging for all sync operations" ] } } } }