Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/gcsconsultores/gcs-website/llms.txt

Use this file to discover all available pages before exploring further.

The GCS website requires only two optional environment variables for production CRM integration. When both are omitted, submitted leads are logged to the server console so no data is lost during local development or staging. The Sally AI assistant (Google Gemini via Vercel AI Gateway) is fully zero-config in Vercel and v0 environments — no API key or model credentials are needed.

Variables reference

CRM_API_URL
string
The full URL of your CRM’s create-contact endpoint. When this variable is unset, the sendToCrm adapter in app/actions/lead-actions.ts skips the HTTP call and logs the lead payload to the server console instead. Set this to any REST endpoint that accepts a POST with a JSON body — HubSpot, Salesforce, Zoho, Pipedrive, or a custom webhook are all valid targets.
CRM_API_KEY
string
Bearer token or API key for authenticating CRM requests. Passed verbatim in the Authorization: Bearer <CRM_API_KEY> request header. Must be set alongside CRM_API_URL — if either variable is missing, the CRM call is skipped entirely.

Sally AI — zero-config on Vercel

The /api/sally route uses the Vercel AI Gateway to proxy requests to Google Gemini. Inside Vercel and v0 environments the gateway handles Google authentication automatically — no GOOGLE_API_KEY or equivalent variable is required. The model identifier is set in app/api/sally/route.ts:
const SALLY_MODEL = 'google/gemini-3-flash'
If you later point Sally at a fine-tuned or self-hosted model, update SALLY_MODEL in that file; no environment variable changes are needed.

Sample .env.local

Create this file at the project root for local development. Both variables are optional — omitting them causes leads to print to the terminal rather than reaching the CRM.
# CRM Integration (optional — leads log to console when unset)
CRM_API_URL=https://api.hubapi.com/crm/v3/objects/contacts
CRM_API_KEY=pat-na1-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Never commit .env.local to version control. It is already listed in .gitignore, but double-check before pushing if you have made changes to ignore rules.
All environment variables in this project are server-side only — none are prefixed with NEXT_PUBLIC_. This prevents credentials from being bundled into the client-side JavaScript and exposed in the browser.

Local vs. production environments

EnvironmentCRM_API_URLCRM_API_KEYLead destination
Local developmentNot setNot setPrinted to terminal via console.log
Vercel previewOptionalOptionalCRM if both set; otherwise console
Vercel productionSetSetCRM endpoint
When both variables are absent, the server action logs a structured object so you can still inspect submissions during development:
// app/actions/lead-actions.ts — fallback behavior
if (!endpoint || !apiKey) {
  console.log('[v0] Nuevo lead (CRM no configurado todavía):', {
    name: lead.name,
    company: lead.company,
    email: lead.email,
    phone: lead.phone,
    interest: lead.interest,
  })
  return
}

Adding environment variables in Vercel

1

Open your project in the Vercel dashboard

Go to vercel.com/dashboard and select the GCS website project.
2

Navigate to Settings → Environment Variables

Click the Settings tab in the top navigation, then select Environment Variables from the left sidebar.
3

Add CRM_API_URL

Click Add New. Enter CRM_API_URL as the key and paste your CRM endpoint URL as the value. Select the target environments (Production, Preview, and/or Development) and click Save.
4

Add CRM_API_KEY

Repeat the process for CRM_API_KEY, pasting your bearer token or API key. Ensure you restrict this variable to Production unless you also want preview deploys forwarding leads to the CRM.
5

Redeploy to apply the changes

Environment variable changes take effect on the next deployment. Trigger a redeploy from the Deployments tab or push a new commit to the connected branch.

Build docs developers (and LLMs) love