Last October, I missed a hot lead because I was on a property tour in Funchal and didn’t respond to an inquiry email for six hours. By the time I followed up, the client had signed with another agent. That single missed contact cost me a commission I don’t want to think about. The fix wasn’t hiring an assistant — it was connecting Claude to Zapier so the response goes out automatically, in Portuguese and English, within four minutes of any new inquiry landing in my inbox.
This tutorial walks you through exactly how I set that up. By the end, you’ll have a working Zapier automation that sends any trigger — a form submission, a new email, a CRM entry — to Claude via the Anthropic API, then does something useful with the response: emails it, logs it, or fires off a follow-up sequence. No coding required. I’ll show you the exact settings I use for my real estate operation in Madeira, and I’ll be honest about where this breaks down.
What You’ll Build
A Zapier workflow that: (1) triggers on a new event in your chosen app, (2) sends the relevant data to Claude via Anthropic’s API using Zapier’s Webhooks or Code step, and (3) uses Claude’s response to take an action — send an email, update a CRM, post to Slack, whatever your business needs. My specific build triggers on new Gravity Forms submissions on my website, asks Claude to write a personalized bilingual reply, and sends that reply through Gmail.
What You Need Before Starting
- An Anthropic account with API access — sign up at console.anthropic.com. You’ll need a credit card. As of 2026, Claude Haiku 3.5 costs $0.80 per million input tokens and $4 per million output tokens. For automated short responses, a busy month of leads might cost me $3–5 total.
- A Zapier account — the free plan won’t cut it here. You need at least the Starter plan ($19.99/month) for multi-step Zaps and Webhooks access.
- A trigger app already connected to Zapier — Gmail, Typeform, Google Forms, HubSpot, whatever you use to receive leads or tasks.
- Basic comfort with copying and pasting API keys. That’s the most “technical” thing you’ll do.
Step 1: Get Your Anthropic API Key
Go to console.anthropic.com and log in. In the left sidebar, click API Keys, then Create Key. Name it something you’ll recognize — I called mine “Zapier-RealEstate-Madeira.” Copy the key immediately and paste it somewhere safe. Anthropic shows it once. If you lose it, you generate a new one.
While you’re here, check your usage limits under Settings → Limits. New accounts start with low rate limits. If you’re planning high-volume automations (hundreds of triggers per day), request a limit increase before you build. For most solo operators, the default limits are fine.
Step 2: Set Up Your Trigger in Zapier
Log into Zapier and click Create Zap. Your trigger is whatever event starts the automation. Here’s how I have mine set up, and a few common alternatives:
| Use Case | Trigger App | Trigger Event |
|---|---|---|
| New lead inquiry (my setup) | Gravity Forms / Typeform | New Form Submission |
| New email in specific label | Gmail | New Email Matching Search |
| New CRM contact | HubSpot / Pipedrive | New Contact |
| New row in spreadsheet | Google Sheets | New Row |
| Scheduled daily digest | Schedule by Zapier | Every Day at 8 AM |
Select your trigger app, authenticate it, and pick the specific event. Run a test to confirm Zapier can pull in sample data. You need at least one real test record — for me that means having a test form submission in the system so Zapier has real field data to work with in later steps.
Step 3: Add a Webhooks Step to Call the Claude API
This is the core of the build. After your trigger, click the + button to add an action. Search for Webhooks by Zapier and select it. Choose Custom Request as the action event.
Now fill in the following fields exactly:
Method
Set this to POST.
URL
https://api.anthropic.com/v1/messages
Headers
Add three headers exactly as shown:
x-api-key: your-anthropic-api-key-here
anthropic-version: 2023-06-01
content-type: application/json
Replace your-anthropic-api-key-here with the key you copied in Step 1. The anthropic-version header is required — without it, the API returns a 400 error. I learned that the hard way on my first attempt.
Data (Request Body)
Switch the Data field to Raw mode. Paste the following JSON, replacing the placeholder text with your actual Zapier field variables:
{
"model": "claude-haiku-4-5",
"max_tokens": 1024,
"system": "You are a professional real estate assistant for a Madeira, Portugal property consultancy. Write warm, professional responses in both English and Portuguese. Keep replies under 200 words per language.",
"messages": [
{
"role": "user",
"content": "A new lead has submitted an inquiry. Their name is {{name}}. Their email is {{email}}. Their message is: {{message}}. Write a personalized follow-up response acknowledging their inquiry and confirming we will be in touch within 24 hours."
}
]
}
The double-curly-brace fields ({{name}}, {{email}}, {{message}}) are where you’ll insert Zapier’s dynamic data from your trigger step. Click inside those fields and use Zapier’s field picker to insert the actual mapped variables from your form or trigger.
A few model notes: I use claude-haiku-4-5 for automated responses because it’s fast and cheap — responses come back in under two seconds. For longer market analysis reports I run manually, I use claude-opus-4. Use the right model for the task or you’ll overpay.
Test the Webhook Step
Click Test step. If everything is correct, you’ll see a response from the API in the output panel. Look for the content array in the response — inside it is Claude’s actual text output. The path to access it in Zapier’s later steps is:
content[0].text
If you get a 401 error, your API key is wrong. A 400 usually means the JSON body is malformed or you’re missing the anthropic-version header. A 529 means you’ve hit a rate limit — wait a minute and test again.
Step 4: Use Claude’s Response in a Follow-Up Action
Now add another action step after the Webhook. This is where Claude’s output actually does something. For my setup, I use Gmail to send the response directly to the lead. Here’s how I configure the Gmail action:
- To: Map the email field from your trigger (e.g., the form submission email address)
- Subject: “Thank you for your inquiry — Madeira Property Consulting”
- Body: Map the
content[0].textfield from the Webhook step - From Name: Robson Penassi — Madeira Real Estate
Other useful follow-up actions instead of or in addition to email:
- Google Sheets: Log the lead name, email, inquiry summary, and Claude’s response in a tracking sheet
- HubSpot or Pipedrive: Create a new contact and add Claude’s response as a note
- Slack: Send yourself a notification with the inquiry and the drafted reply so you can review before it goes out (good safety option when you’re starting out)
- Gmail draft instead of send: Claude writes the email, but it sits as a draft for you to approve — I used this for the first two weeks until I trusted the output quality
Step 5: Customize Your System Prompt for Better Output
The system prompt is where most of the quality control happens. A weak system prompt produces generic responses. Here are three templates I actually use:
Lead Inquiry Response (my primary automation)
You are a professional assistant for Robson Penassi, an independent real estate consultant based in Madeira, Portugal, specializing in residential and investment properties.
Write responses in both European Portuguese and British English. Portuguese first, then English, separated by a horizontal line.
Tone: warm, competent, unhurried. Never use promotional language or urgency tactics.
Length: maximum 150 words per language block.
Always confirm the consultant will personally follow up within one business day.
Sign off as: Robson Penassi | Madeira Property Consulting
Property Description Draft
You are a real estate copywriter for properties in Madeira, Portugal.
Given a list of property features, write a compelling property description for a real estate listing.
Format:
- Opening sentence: evocative, location-specific, no clichés
- Body: 3-4 sentences covering key features, views, and practical details
- Closing: one sentence on the lifestyle opportunity
Length: 120-150 words.
Language: British English. Do not use the words "stunning," "gorgeous," "nestled," or "boasts."
Weekly Market Summary
You are a market analyst for Madeira Island real estate.
Given a set of raw data points (average prices, transaction counts, days on market), write a concise weekly market summary for sharing with investor clients.
Tone: factual, measured, no hype.
Format: 3 short paragraphs — current conditions, notable shifts, outlook.
Length: 200-250 words.
Always note that this summary is for informational purposes and not investment advice.
My Real-World Experience Running This Automation in Madeira
I’ve been running this Zapier-Claude setup since February 2026 — about nine months now. Let me tell you what actually happened when I turned it on.
The first week I used the Gmail draft version, not the live send. I had 11 new inquiries come through my contact form. Claude drafted a response for all 11. I reviewed each one before sending. Out of 11 drafts, I edited 3 — mostly small things, like correcting a property detail it couldn’t have known, or softening a phrase that felt slightly off for a particular client’s tone. Eight went out unchanged. That gave me enough confidence to switch to live sending for standard inquiries.
The time math is straightforward. Before this automation, I spent roughly 8–12 minutes crafting each bilingual response — longer if the inquiry was detailed or if I was out of the office and working from my phone. Across a typical month of 35–45 new inquiries, that was 5–7 hours of my time just on first-response emails. The automation handles that in seconds. I’d estimate I’m recovering 5 hours a month on this single workflow alone, and the response time has dropped from an average of 3.5 hours (my old manual average) to under 6 minutes.
The business impact showed up in April. I tracked response rates for three months before the automation (November–January) and three months after (February–April). Before: 61% of leads replied to my initial response. After: 74%. I can’t attribute that entirely to faster response time — my website also got a refresh in March — but the timing correlation is hard to ignore. Fast, professional first contact matters in this market.
I also set up a second Zap for property descriptions. When I add a new listing sheet to Google Sheets with room counts, square meters, features, and location, Claude generates a first-draft description automatically and pastes it into a separate column. In June, I listed 8 properties in three weeks — unusually busy for me. The old workflow would have taken about 2.5 hours of copywriting across those 8 listings. With the automation, I spent maybe 25 minutes reviewing and tweaking Claude’s drafts. The descriptions weren’t perfect out of the gate — more on that below — but they were 80% of the way there every time.
Monthly API cost for both Zaps combined: €4.20 in June, my busiest month. The Zapier plan I’m on (Professional, $49/month) handles this and several other automations I run for social scheduling and CRM updates. The Claude API portion is essentially negligible.
Where This Setup Falls Short
I want to be direct about the real limitations I’ve hit, because the setup looks cleaner on paper than it runs in practice.
Claude has no memory between Zap runs. Each API call is stateless. If a lead submits a second inquiry three days later referencing their first message, the automation treats it as brand new. The response has no continuity. I haven’t found a clean fix for this within Zapier alone — you’d need to pull conversation history from a database in a middle step, which is possible with Zapier’s Code step but significantly more complex to build.
Property description quality is inconsistent for unusual properties. For a standard two-bedroom apartment in Funchal, Claude’s drafts are solid. For a rural quinta with terraced agricultural land and a wine cellar, the output gets generic fast. It doesn’t know what makes a property specifically appealing in the Madeiran market — the views from a particular parish, the significance of certain architectural details. I always review these manually.
Zapier’s Webhooks step can time out. The free test runs are reliable, but in live operation I’ve had maybe 4-5 failed Zap runs in nine months where the webhook returned an error or a timeout. Zapier doesn’t automatically retry webhook failures the same way it retries other steps. I have a Slack alert set up to notify me when a Zap fails, which helps — but it means the lead didn’t get an automated response and I need to handle it manually.
Troubleshooting the Most Common Errors
401 Unauthorized: Your API key is wrong or missing. Double-check the x-api-key header. Make sure there are no extra spaces before or after the key value.
400 Bad Request: Usually a malformed JSON body. Paste your raw data into jsonlint.com to validate it. Also check that the anthropic-version header is present.
Claude’s response is truncated: Increase max_tokens in your request body. I use 1024 for responses and 512 for short property summaries.
The output field shows the whole JSON response, not just the text: You need to map specifically to content[0].text in your downstream step, not the top-level response object. In Zapier, this appears in the field picker after a successful test run.
Responses sound robotic or generic: The system prompt needs more specificity. Add your business name, your location, your tone preferences, and explicit instructions about what to avoid. The more context Claude has, the better the output.
Recommended tool: Make.com — connect 1,500+ apps and automate your workflows without code. Try it free →
Practical Summary: What to Do This Week
If you’re a solo operator who handles lead intake manually, this is one of the highest-ROI automations you can build. Here’s the short version of what you just learned:
- Get an Anthropic API key from console.anthropic.com
- Start a new Zap with your existing lead trigger (form, email, CRM)
- Add a Webhooks by Zapier step with a POST request to
https://api.anthropic.com/v1/messages - Set the three required headers including
anthropic-version: 2023-06-01 - Write a tight system prompt that reflects your actual business context
- Map
content[0].textfrom the webhook response to your follow-up action - Run it as drafts first for one week before switching to live sends
The whole build takes about 45 minutes if you follow these steps. I spent three hours on my first attempt because I didn’t know about the anthropic-version header requirement and kept getting 400 errors. You now know. Don’t repeat that particular mistake.
If you want to see how I use Claude for client-facing deliverables beyond automation, my article on using Claude Artifacts for client deliverables covers a different but complementary workflow. And if you’re deciding between Zapier and Make for this kind of build, that comparison is worth reading before you commit to a paid plan.
Got a question about a specific trigger setup or a step that’s not working? Drop it in the comments — I check them weekly and answer the ones I have real experience with.
Robson Penassi
Real estate consultant in Madeira, Portugal. Solopreneur since 2012. Testing AI tools since 2023 to automate his one-person business. Writes about what actually works — and what does not.
More articles by Robson →