A solar lead gen chatbot for a fictional client (Smith Solar, Texas) built on n8n with two workflows, Google's Geocoding and Solar APIs, Gemini, and Airtable.
A few things worth flagging for anyone attempting this:
The Google OAuth2 Client ID and a Google Cloud API key are not the same thing. The OAuth2 Client ID is for Sheets and Gmail. The Geocoding and Solar APIs need a separate API key (starts with AIzaSy) created under Credentials in Google Cloud Console. Mixing these up costs you a solid chunk of debugging time.
Google's Geocoding and Solar APIs require a billing account to be linked even for free-tier usage. Both include 10,000 free requests per month with no expiry. For portfolio testing you won't get charged — but you do need the card on file.
If Airtable is saving blank rows, check whether your Base is configured "By ID" or "By URL." Switching to By URL was the fix that made field mapping resolve correctly after five other attempts failed.
Gemini 2.5 Flash will hit rate limits fast during testing. Switch to gemini-2.0-flash-001.
And always activate your sub-workflows before testing. Every time.
On to build 3. 🙏