Dependencies & Services

External services and API keys required to run Makinari. Some are required, others are optional based on features you want to use.

Supabase

Required

PostgreSQL database, authentication, and real-time subscriptions

Environment Variables:

NEXT_PUBLIC_SUPABASE_URL

Your Supabase project URL

NEXT_PUBLIC_SUPABASE_ANON_KEY

Public anonymous key

SUPABASE_SERVICE_ROLE_KEY

Service role key (server-side only)

SUPABASE_JWT_SECRET

JWT secret for token validation (optional)

SUPABASE_DB_PASSWORD

Database password (optional)

Temporal Cloud

Required

Workflow orchestration for background jobs and scheduled tasks

Environment Variables:

TEMPORAL_SERVER_URL

Temporal server URL

TEMPORAL_NAMESPACE

Your namespace (default: 'default')

WORKFLOW_TASK_QUEUE

Task queue name (default: 'default')

Stripe

Required

Payment processing and subscription management

Environment Variables:

STRIPE_SECRET_KEY

Secret key for server-side operations

STRIPE_PUBLISHABLE_KEY

Publishable key for client-side

STRIPE_WEBHOOK_SECRET

Webhook signing secret

OpenAI

Required

AI capabilities for agents, content generation, and analysis

Environment Variables:

OPENAI_API_KEY

API key for OpenAI services

OPENAI_ORG_ID

Organization ID (optional)

Twilio

Optional

SMS and WhatsApp messaging capabilities

Environment Variables:

TWILIO_ACCOUNT_SID

Account SID

TWILIO_AUTH_TOKEN

Auth token

TWILIO_PHONE_NUMBER

Your Twilio phone number

TWILIO_WHATSAPP_NUMBER

WhatsApp enabled number

SendGrid

Optional

Email delivery and marketing campaigns

Environment Variables:

SENDGRID_API_KEY

API key for sending emails

SENDGRID_FROM_EMAIL

Verified sender email address

Azure OpenAI

Optional

Alternative AI provider using Microsoft Azure OpenAI services

Environment Variables:

MICROSOFT_AZURE_OPENAI_API_KEY

Azure OpenAI API key

MICROSOFT_AZURE_OPENAI_ENDPOINT

Azure OpenAI endpoint URL

MICROSOFT_AZURE_OPENAI_DEPLOYMENT

Deployment name (default: gpt-4o)

MICROSOFT_AZURE_OPENAI_API_VERSION

API version (default: 2024-08-01-preview)

MICROSOFT_AZURE_OPENAI_IMAGES_DEPLOYMENT

DALL-E deployment for image generation

Google Maps

Optional

Location services and venue search capabilities

Environment Variables:

GOOGLE_MAPS_API_KEY

API key for Google Maps services

NeverBounce

Optional

Email validation and verification service

Environment Variables:

NEVERBOUNCE_API_KEY

API key for email validation

Portkey

Optional

AI provider management and gateway

Environment Variables:

PORTKEY_API_KEY

API key for Portkey services

Scrapybara

Optional

Web scraping and browser automation

Environment Variables:

SCRAPYBARA_API_KEY

API key for Scrapybara services

Application URLs

Required

URLs for application services and API communication

Environment Variables:

NEXT_PUBLIC_APP_URL

Main application URL (e.g., http://localhost:3000)

NEXT_PUBLIC_API_SERVER_URL

API server URL (e.g., http://localhost:3001)

API_SERVER_URL

Server-side API URL (fallback)

API_BASE_URL

Base URL for workflow API calls

API_KEY

Internal API authentication key

SERVICE_API_KEY

Service-to-service authentication

Supabase Setup Guide

Supabase is the backbone of Makinari, providing database, authentication, storage, and real-time capabilities. Follow this comprehensive guide to set it up correctly.

1. Database Setup

  • Navigate to your Supabase project dashboard
  • Go to SQL Editor
  • Run the migrations from /supabase/migrations
  • Verify tables are created correctly

2. Authentication Configuration

  • Go to Authentication > Settings
  • Enable Email provider
  • Configure Magic Link settings
  • Set up redirect URLs for your domain
  • Configure password requirements

3. Storage Setup

  • Go to Storage section
  • Create buckets for: avatars, assets, documents
  • Configure bucket policies (public/private)
  • Set up CORS if needed

4. Row Level Security (RLS)

  • Enable RLS on all tables
  • Create policies for user access
  • Test policies with different user roles
  • Review security documentation

Environment Variables Example:

.env.localbash
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
 
# Supabase Additional (Optional)
SUPABASE_JWT_SECRET=your-jwt-secret
SUPABASE_DB_PASSWORD=your-db-password

Security Note

Never commit your SUPABASE_SERVICE_ROLE_KEY to version control. This key has full database access and should only be used server-side.

Complete Environment Template

Copy this template to your .env.local file and fill in your values:

.env.localbash
1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
# ========================================
# REQUIRED SERVICES
# ========================================
 
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
SUPABASE_JWT_SECRET=your-jwt-secret
SUPABASE_DB_PASSWORD=your-db-password
 
# Temporal Cloud
TEMPORAL_SERVER_URL=your-temporal-server.tmprl.cloud:7233
TEMPORAL_NAMESPACE=your-namespace
WORKFLOW_TASK_QUEUE=default
TEMPORAL_API_KEY=your-temporal-cloud-api-key
TEMPORAL_TLS=true
 
# Stripe Payments
STRIPE_SECRET_KEY=sk_test_your-secret-key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_your-publishable-key
STRIPE_PUBLISHABLE_KEY=pk_test_your-publishable-key
STRIPE_WEBHOOK_SECRET=whsec_your-webhook-secret
STRIPE_STARTUP_PRICE_ID=price_xxxxx
STRIPE_ENTERPRISE_PRICE_ID=price_xxxxx
 
# OpenAI
OPENAI_API_KEY=sk-your-openai-key
OPENAI_ORG_ID=org-your-org-id
 
# Application URLs (REQUIRED)
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_API_SERVER_URL=http://localhost:3001
API_SERVER_URL=http://localhost:3001
API_BASE_URL=http://localhost:3001
API_KEY=your-internal-api-key
SERVICE_API_KEY=your-service-api-key
 
# ========================================
# OPTIONAL SERVICES
# ========================================
 
# Azure OpenAI (Alternative AI Provider)
MICROSOFT_AZURE_OPENAI_API_KEY=your-azure-key
MICROSOFT_AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
MICROSOFT_AZURE_OPENAI_DEPLOYMENT=gpt-4o
MICROSOFT_AZURE_OPENAI_API_VERSION=2024-08-01-preview
MICROSOFT_AZURE_OPENAI_IMAGES_DEPLOYMENT=dall-e-3
 
# Twilio (SMS/WhatsApp)
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your-auth-token
TWILIO_PHONE_NUMBER=+1234567890
TWILIO_WHATSAPP_NUMBER=whatsapp:+1234567890
 
# SendGrid (Email Delivery)
SENDGRID_API_KEY=SG.your-sendgrid-key
SENDGRID_FROM_EMAIL=noreply@yourdomain.com
 
# Google Maps (Location Services)
GOOGLE_MAPS_API_KEY=your-google-maps-key
 
# NeverBounce (Email Validation)
NEVERBOUNCE_API_KEY=your-neverbounce-key
 
# Portkey (AI Provider Management)
PORTKEY_API_KEY=your-portkey-key
 
# Scrapybara (Web Scraping)
SCRAPYBARA_API_KEY=your-scrapybara-key
ROBOT_SDK_PROVIDER=azure
 
# Email Validator Configuration
EMAIL_VALIDATOR_CONNECT_TIMEOUT_MS=8000
EMAIL_VALIDATOR_TEMPORARY_AS_RISKY=0
EMAIL_VALIDATOR_TREAT_POLICY_AS_RISKY=1
EMAIL_VALIDATOR_DELIVERABLE_ON_CONNECT=0
EMAIL_VALIDATOR_DELIVERABLE_ON_CONNECT_DOMAINS=
 
# Scheduling Configuration
SCHEDULE_STRATEGIC_ACCOUNTS=false
 
# ========================================
# APPLICATION SETTINGS
# ========================================
 
# Environment
NODE_ENV=development
 
# Logging
LOG_LEVEL=info
NEXT_PUBLIC_LOG_LEVEL=info
NEXT_PUBLIC_DEBUG=false
 
# Vercel (Automatic in Vercel deployments)
# VERCEL=1
# VERCEL_ENV=production