ServiceFlow Pro Docs

Angi Lead Integration

Updated
The Angi integration is the webhook that creates a ServiceFlow lead when Angi posts a marketplace job. You generate the webhook URL in ServiceFlow. Angi registers that URL on their side. A new lead then shows up in the lead list. The marketplace is Angi. Pros sign in at Angi for Pros.
Angi does not turn the feed on by itself. The admin generates a webhook URL and a CRM key in ServiceFlow, then emails both to Angi with the Company ID, also called the SPID. That ID is on the Angi for Pros desktop URL, the agreement, or a bill. Angi configures the feed on their side, and the wait is measured in business days, not minutes. Until that confirmation arrives, a marketplace job does not create a lead. After it arrives, the lead list shows the contact, the task, the comments, and the fee. A test lead from ServiceFlow is the check you can run without waiting for a live job. A masked phone number on the lead can expire, so the office should call while the number still works. The person who does this is the admin who owns integrations, not the technician who will run the job.

How do you register the Angi webhook?

Generate the webhook URL and CRM key in ServiceFlow, then email them to Angi with your Company ID. Angi registers that URL before marketplace leads arrive.
Step 1 — Enable Angi in ServiceFlow Pro
In ServiceFlow Pro, go to Settings → Integrations, select Angi (HomeAdvisor), and click Connect.
Copy your Webhook URL and CRM key. Angi uses the key to authenticate lead delivery.
Step 2 — Find your Angi Company ID (SPID)
Your Angi Company ID appears in the Angi for Pros desktop URL, on your Angi agreement (labeled SPID), on your bill, or via Angi support chat.
Step 3 — Email Angi to register your webhook
Email crmintegrations@angi.com with:
  • Angi Company ID (SPID)
  • Webhook URL from ServiceFlow Pro
  • CRM key from ServiceFlow Pro
  • Contact email for the integration
  • CRM name: ServiceFlow Pro
Step 4 — Verify leads are flowing
After Angi confirms registration, use Send Test Lead in the Angi integration settings or wait for a live lead. New leads appear in Leads with source angi.
Masked phone numbers
Some Angi leads use temporary masked numbers with an expiration time. ServiceFlow Pro stores this metadata on the lead. Follow up promptly before the masked number expires.
What ServiceFlow stores from an Angi lead
After Angi confirms the feed, a lead shows in Leads with source angi. You should see contact info, the service task name, customer comments, interview questions and answers when Angi sends them, the lead fee, and appointment metadata. Some numbers are temporary masked phones with an expiration. ServiceFlow keeps that expiration on the lead. Call before it lapses. A masked number is not a permanent mobile you can text next month. If the payload omits an interview answer, the lead does not gain a blank custom field for it. Angi decides which fields are in the post.
Auto-create customers is optional on the integration. Leave it off if you want a person to qualify the lead first. Turn it on if every Angi post should become a customer, and rely on matching so the same phone does not create a second record. Create Estimate is still a separate action when you want a priced proposal. Neither path creates a scheduled job. Disconnecting or pausing the webhook stops new delivery and leaves history in Leads. Regenerating the CRM key invalidates the key you already emailed Angi. Send them the new key or the feed will fail until they update it.
A test before you buy leads
Use Send Test Lead on the Angi card in Settings → Integrations after you have a webhook URL and a CRM key, and again after Angi says the SPID is registered. The test should appear in Leads. If it does not, the usual misses are a company id from the wrong Angi account, a webhook URL that was line-broken in the email, or a CRM key that was regenerated after the email went out. Angi support chat, the agreement labeled SPID, the bill, and the desktop URL are the places the company id shows up. Do not guess it from the business name.
Registration is a few business days, not a toggle. crmintegrations@angi.com needs the SPID, the webhook URL, the CRM key, a contact email, and the CRM name ServiceFlow Pro. There is no self-serve switch inside ServiceFlow that completes their side. Google Ads lead forms are a different webhook and a different setup page. Connecting one does not turn on the other. Lead nurture, if you use it, is also separate. An Angi lead can sit in status new until someone assigns it and calls.
After the lead is in the list
Filter Leads to source angi and status new. Assign the estimator, call the masked number the same day, and set status to contacted after you reach them. Create Customer when they are a real account. If a customer with that phone already exists, open that record instead of typing a second one. Create Estimate when you are ready to price the task Angi named. The lead fee on the payload is what Angi charged you for the lead. It is not the price you quote the homeowner and it is not an invoice in ServiceFlow.
Appointment metadata, when Angi includes it, is information about the window they offered. It does not block a technician on your scheduler. Put the job on the calendar yourself after the customer agrees. Interview answers stay on the lead so the tech can read them. They do not fill price-book lines. If you also run Google Ads, keep those leads on their own source so a weekly review can tell marketplace spend from ad spend. Pausing Accept incoming webhooks is the switch when you want to stop the feed without asking Angi to delete the registration.
Need help?
Return to Setup & Configuration or open Settings → Integrations → Angi in your ServiceFlow Pro account.