What you are connecting
When a homeowner requests a quote through Angi (formerly Angie's List), you want ResponsePro to text them back in seconds — not hours later when you finish a job. That starts with routing each Angi lead to your ResponsePro intake URL:
https://intake.responsepro.app/your-client-id
Your client ID is in your welcome email. Angi can POST lead data directly to that URL once their integrations team enables it on your account.
Use source: "angi" in the payload (or let ResponsePro infer it from Angi's data) so your dashboard tags these leads separately from website and Google LSA traffic. See multi-source tracking.
Option 1: Direct webhook (recommended)
Angi supports sending leads to an external webhook URL. You do not need Zapier for this path — your ResponsePro intake URL is the webhook.
To: crmintegrations@angi.com
Subject: CRM Integration - [Your Company Name]
Hi,
Please send my Angi leads to the following webhook URL:
https://intake.responsepro.app/YOUR-CLIENT-ID
Details:
- Contact name: [Your Name]
- Company: [Your Business Name]
- Angi account number: [from Angi Pro dashboard]
- Contact email: [your email]
- Data format: JSON
- Authentication: no key
Please send a test lead when setup is complete.
Thank you!
Official Angi documentation: Setting Up Your CRM Integration with Angi.
Option 2: Zapier (if Angi requires a Catch Hook URL)
Some Angi setups use Zapier as a middle layer — especially if you are connecting multiple tools. The pattern is: Angi sends to Zapier, Zapier reformats and POSTs to ResponsePro.
https://intake.responsepro.app/your-client-id. Set payload type to JSON and map fields:{
"name": "{{first name}} {{last name}}",
"phone": "{{phone}}",
"email": "{{email}}",
"message": "{{job description or notes}}",
"service": "{{service type}}",
"source": "angi"
}
Replace the {{...}} tokens with the actual field names from your Angi test payload in Zapier. The source field must be the static string angi — do not map it to a dynamic Angi field.
Official Zapier + Angi guide: Creating a Webhook in Zapier for Custom Lead Integration with Angi.
Field mapping — what ResponsePro expects
ResponsePro only requires phone (US numbers). Everything else is optional but improves your SMS and follow-ups.
The intake Worker automatically recognizes common Angi field names, including:
- Phone:
phone,phone_number,contact_phone,mobile - Name:
name,full_name, orfirst_name+last_name - Service:
service,job_type,service_requested - Notes:
message,description, or similar text fields
If Angi's JSON uses different keys, use the Zapier path to rename them, or ask us to map them during onboarding.
Compliance note
Homeowners who submit a project request on Angi are asking to be contacted about that job. ResponsePro's automated texts include STOP/HELP language and honor opt-outs immediately. This is separate from the TCPA checkbox requirement on your own website contact form — see the webhook integration guide for website consent copy.
Test before going live
curl -X POST https://intake.responsepro.app/YOUR-CLIENT-ID \
-H "Content-Type: application/json" \
-d '{
"name": "Angi Test Lead",
"phone": "5405551234",
"message": "Kitchen remodel quote request",
"service": "Remodeling",
"source": "angi"
}'
Expect {"received":true} and an SMS within about a minute.
Troubleshooting
- No SMS after Angi test lead: Confirm 10DLC provisioning is complete in your dashboard (carrier vetting can take several business days for new accounts). Verify the phone on the test lead is a real US mobile you can receive texts on.
- Angi has not responded: Follow up with crmintegrations@angi.com after 3 business days. Include your account number and webhook URL again.
- Lead appears in dashboard but source is wrong: Ask Angi to include
source: angiin the JSON, or use the Zapier path with a staticsourcefield. - Duplicate texts: Make sure Angi is not also emailing leads to a separate automation that hits the same intake URL.
Want us to handle this? Reply to your welcome email — Angi webhook setup is included in onboarding.