When to use it
- Demo requests, contact-sales forms and pricing questions: forms where people ask to talk.
- The form lives in HubSpot, Typeform, Webflow or a similar builder, or posts to your own backend.
What you need
- A list the rep dials, its
_id, and an API key. See Before you start. - A phone number field on the form, and wording that says you’ll call, such as “We’ll call you to set up your demo.”
- Zapier or Make, or a developer who can add one request to your form’s backend.
Set it up
1
Ask for a phone number, and say you'll call
Add a phone field and make it required on the forms that should lead to a call. Ask for the
country code, or use a field that picks the country, so you can send the number in
international format.
2
Catch each new submission
Pick the one form that should lead to a call. One Zap or scenario per form keeps the tag and
notes right.
Typeform’s and Webflow’s own webhooks can’t add the
x-api-key header, and they send their
own JSON layout. Put Zapier, Make or your own endpoint in between.3
Format the phone number
In Zapier, add Formatter → Numbers → Format Phone Number, with the E.164 format
(
+17205550148). In your own code, use a phone library such as libphonenumber.4
Send the person to Salesfinity
Map the form fields into the request below. Use the tag
"Demo request", or one per form, and
put the form, the page and the message in notes.What to send
201 with { "success": true }.
Test it
- Start dialing the list, with your phone ready.
- Fill in the form on your live site with your own name, email and mobile number.
- Check that the notification shows, that Next up shows your name, and that your phone rings once the current call is logged. The notes should read the way the rep needs them.
Good to know
- Keep the API key on the server. Call the API from your backend, Zapier or Make, never from JavaScript in the page. Anyone who can read the page could use the key.
- Don’t make the visitor wait. Send the request after the submission is saved, in the background. If Salesfinity answers slowly or not at all, the form still works.
- Retry the right errors. Retry
429and5xxafter a pause. Don’t retry400or404: the same request fails again. With a tag, a retry doesn’t add the person twice. See Retries. - Messages with quotes or line breaks. In a Zapier Custom Request, they break the JSON and
the API answers
400. Clean the message first, as in Clean up the reply text. Code that builds the body withJSON.stringifyorjson=doesn’t have this problem. - Filter out spam first. A tag puts the person at the top of the list. Use your form tool’s spam protection, and only send submissions that pass it.
- Several reps on inbound? Give each rep their own list and send each submission to one of them, for example by country or company size. In Zapier, a Formatter → Utilities → Lookup Table step can turn a field into a list ID.