# Fireflies Integration Environment Variables # Copy this file to .env and fill in your actual values # ============================================================================= # REQUIRED: Authentication & API Keys # ============================================================================= # Secret key for HMAC signature verification of Fireflies webhooks # This must match the secret configured in your Fireflies webhook settings # Get this from: https://app.fireflies.ai/settings#DeveloperSettings FIREFLIES_WEBHOOK_SECRET=your_webhook_secret_here # Fireflies API key for fetching meeting data from GraphQL API # Get this from: https://app.fireflies.ai/settings#DeveloperSettings FIREFLIES_API_KEY=your_fireflies_api_key_here # Fireflies plan level - affects which fields are available # Options: free, pro, business, enterprise # This controls which GraphQL fields are requested to avoid 403 errors FIREFLIES_PLAN_LEVEL=pro # Twenty CRM API key for authentication # Generate this from your Twenty instance: Settings > Developers > API Keys TWENTY_API_KEY=your_twenty_api_key_here # ============================================================================= # Server Configuration # ============================================================================= # Twenty CRM server URL # Use http://localhost:3000 for local development # Use your production URL for deployed instances SERVER_URL=http://localhost:3000 # ============================================================================= # Contact Management # ============================================================================= # Automatically create contacts for unknown participants (true/false) # If true, new Person records will be created for meeting participants not found in CRM # If false, only meetings with existing contacts will be fully processed AUTO_CREATE_CONTACTS=true # ============================================================================= # Summary Processing Configuration # ============================================================================= # Strategy for handling async summary generation # Options: # - immediate_with_retry: Attempts immediate fetch with retry logic (RECOMMENDED) # - delayed_polling: Schedules background polling for summaries # - basic_only: Creates records without waiting for summaries FIREFLIES_SUMMARY_STRATEGY=immediate_with_retry # Number of retry attempts when fetching summary data # Used with immediate_with_retry strategy # Recommended: 3-5 attempts (summaries can take up to 10 minutes but rate limit is low) FIREFLIES_RETRY_ATTEMPTS=5 # Delay in milliseconds between retry attempts (with exponential backoff) # Each retry will wait: RETRY_DELAY * attempt_number # Example: 120000ms means 2min, 4min, 6min... for extended backoff # Total max time with 5 attempts: ~15 minutes FIREFLIES_RETRY_DELAY=120000 # Polling interval in milliseconds for delayed_polling strategy # How often to check if summary is ready # Recommended: 60000 (60 seconds) for extended processing FIREFLIES_POLL_INTERVAL=120000 # Maximum number of polling attempts for delayed_polling strategy # Total max time = POLL_INTERVAL * MAX_POLLS # Example: 2min * 5 = 10 minutes maximum FIREFLIES_MAX_POLLS=5 # ============================================================================= # Debugging & Logging # ============================================================================= # Enable debug logging (true/false) # When enabled, detailed logs will be output to console # Useful for troubleshooting webhook processing DEBUG_LOGS=false # ============================================================================= # Configuration Notes # ============================================================================= # # Webhook Setup: # 1. Configure your Fireflies webhook at: https://app.fireflies.ai/settings#DeveloperSettings # 2. Webhook URL: https://your-twenty-instance.com/s/webhook/fireflies # 3. Event Type: "Transcription completed" # 4. Secret: Same value as FIREFLIES_WEBHOOK_SECRET above, genereate it there # # Summary Strategy Guide: # - immediate_with_retry: Best for most use cases - fast with reliability # - delayed_polling: Use if your server is heavily loaded # - basic_only: Use if you only need transcript links without AI summaries # # Performance Tuning: # - Fireflies summaries can take 5-15 minutes to generate after transcription # - Use 30+ retry attempts with 30s delay for 15-minute coverage # - Consider delayed_polling strategy for heavily loaded servers # - Monitor DEBUG_LOGS to tune timing for your Fireflies account #