Quick Setup
Required Variables
These variables are essential for Hiro CRM to function.Supabase Configuration
Your Supabase project URL.Example:
https://xyzcompany.supabase.coWhere to find: Supabase Dashboard → Project Settings → API → Project URLSupabase anonymous (public) key for client-side authentication.Where to find: Supabase Dashboard → Project Settings → API → Project API keys →
anon publicSupabase service role key for server-side operations.Where to find: Supabase Dashboard → Project Settings → API → Project API keys →
service_role secretApplication URL
The public URL where your Hiro CRM instance is deployed.Development:
http://localhost:3000Production: https://your-domain.comUsed for generating absolute URLs in emails, redirects, and OAuth callbacks.Optional Integrations
These variables enable additional features and integrations.OpenAI (AI Assistant)
Enable the AI-powered Concierge assistant for natural language queries.Your OpenAI API key for GPT-4 access.Example:
sk-proj-...Where to get: OpenAI PlatformFeatures enabled:- Natural language customer queries
- Smart data insights
- Automated report generation
Without this key, the AI Assistant features will be disabled but all other CRM functionality works normally.
Brevo (Email & SMS Campaigns)
Configure Brevo (formerly Sendinblue) for marketing campaigns.Your Brevo API key.Where to get: Brevo Dashboard → SMTP & API → API KeysFeatures enabled:
- Email campaigns
- SMS campaigns
- Transactional emails
- Campaign analytics
Default sender email address for campaigns.Example:
[email protected]Must be a verified sender in your Brevo account.Default sender name displayed in emails.Example:
Hiro CRM or Your Restaurant NameSender name for SMS campaigns (max 11 characters).Example:
HiroCRMSMS sender names are subject to carrier restrictions. Keep it short and alphanumeric.
POS Integrations
Integrate with restaurant POS systems for automatic data sync.CoverManager
API key for CoverManager POS integration.Where to get: Contact CoverManager supportFeatures enabled:
- Automatic reservation sync
- Customer data import
- Revenue tracking
- Table management sync
Revo POS
Access token for Revo POS integration.Where to get: Revo XEF → Settings → Integrations → API AccessFeatures enabled:
- Sales data sync
- Product catalog sync
- Customer purchase history
Background Jobs (Inngest)
Configure Inngest for background workflows and automations.Inngest event key for sending events.Where to get: Inngest Dashboard → Your App → KeysUsed for:
- Automated marketing workflows
- Scheduled tasks
- Async data processing
Inngest signing key for webhook verification.Where to get: Inngest Dashboard → Your App → Keys → Signing Key
Google Drive Integration
Enable document library features with Google Drive.Google OAuth 2.0 client ID.Where to get: Google Cloud Console → APIs & Services → Credentials
Google OAuth 2.0 client secret.Where to get: Google Cloud Console → Your OAuth 2.0 Client → Client Secret
Google Drive refresh token for server-side access.How to generate: Use the OAuth 2.0 Playground or run the setup script:
Error Tracking (Sentry)
Monitor errors and performance with Sentry.Sentry Data Source Name for server-side error tracking.Example:
https://[email protected]/456Where to get: Sentry Dashboard → Project Settings → Client Keys (DSN)Sentry DSN for client-side error tracking.Typically the same as
SENTRY_DSN.Your Sentry organization slug (for source map uploads).Example:
my-companyYour Sentry project slug (for source map uploads).Example:
hiro-crmSentry auth token for uploading source maps during build.Where to get: Sentry → Settings → Auth Tokens → Create New Token
Only needed in CI/CD environments for production builds.
Environment-Specific Configuration
Development (.env.local)
Minimal configuration for local development:Production (Vercel)
All required variables plus optional integrations:Validation
Hiro CRM validates environment variables at build time using Zod schemas. Checklib/env.ts for the validation logic.
Test Your Configuration
Security Best Practices
Rotate keys regularly
Rotate keys regularly
Rotate sensitive keys (service role, API keys) every 90 days.
Use different keys per environment
Use different keys per environment
Never share production keys with development or staging environments.
Limit key permissions
Limit key permissions
Use API keys with the minimum required permissions (e.g., read-only for analytics).
Monitor key usage
Monitor key usage
Set up alerts for unusual API key usage patterns in your service dashboards.
Next Steps
Vercel Deployment
Deploy Hiro CRM to Vercel
Database Setup
Set up your Supabase database
