Total Leads
β
Avg Response
β
seconds
Contacted <5 Min
β
Opt-Out Rate
β
Leads Per Day
Last 7 daysAvg Response Time
Seconds per dayNo lead data yet
Lead events will appear here once Make.com starts posting to POST /api/lead-event.
Total Missed
β
SMS Sent
β
Recovery Rate
β
Conversations
β
Avg Reply Time
β
seconds
Missed Call Events
| Timestamp | Caller | Call Status | SMS Sent | SMS Status | Replied | Conv. ID |
|---|---|---|---|---|---|---|
| Loading⦠| ||||||
Automation Error Log
| Occurred At | Event Type | Error | Module | Call UUID | Caller |
|---|---|---|---|---|---|
| No errors. β | |||||
No reports yet
Weekly reports are generated every Monday morning and emailed to you automatically. They'll appear here too.
Total Submissions
β
Active
β
Pending
β
Cancelled
β
Onboarding Submissions
| Business | Owner | Contact | Tier | Submitted | Client ID | Account | Status | Actions |
|---|---|---|---|---|---|---|---|---|
| Loading⦠| ||||||||
Client Onboarding Guide
Follow these steps every time you onboard a new client. Check off as you go β progress saves in your browser.
Backend β Create Client Account
Run seed-client.js to create their account
Open PowerShell, navigate to your backend folder, and run:
$env:DATABASE_URL="your_database_url"; node seed-client.js CLIENT_ID THEIR_PIN coreπ‘ Change core to growth or pro based on their tier. Pick a strong PIN β 8+ chars.
Then set their Vonage number and forwarding phone in the DB:
UPDATE clients SET vonage_number = '+1XXXXXXXXXX', forward_phone = '+1XXXXXXXXXX' WHERE client_id = 'CLIENT_ID';π‘ vonage_number = the number you assign from Vonage. forward_phone = the roofer's real cell that calls get forwarded to.
Verify the client appears in Admin β Onboarding tab
Switch to the Onboarding tab above and confirm the account row shows as Active. If not, the seed script may have failed β check your DATABASE_URL.
Test their login URL
Open this in an incognito window β it should auto-login and show their (empty) dashboard:
https://dashboard.responsepro.app?client=CLIENT_ID&token=THEIR_PINMake.com β Outbound Scenario
Import outbound_blueprint.json into Make.com
Make.com β Create new scenario β click the three dots (β―) β Import Blueprint β upload the file.
Set Client ID in Module 2 (βοΈ SET CLIENT ID HERE)
Open the variable module and replace YOUR_CLIENT_ID_HERE with:
CLIENT_IDReplace all YOUR_API_SECRET_HERE with your API secret
8 HTTP modules use it: module 32 (duplicate lead check), module 4 (opt-out check), and modules 6, 7, 10, 13, 35, 37 (event logging and contact recording). Same API_SECRET from Render. Use Find & Replace if your Make.com plan supports it β otherwise open each HTTP module and swap manually.
Set YOUR_VONAGE_NUMBER_HERE to their assigned TFN
4 Vonage SMS modules use the from number β modules 9 and 12 (customer texts) and modules 11 and 14 (business alerts). This is their dedicated number from Vonage, not your main number.
β³ If Vonage TFN is still pending, use the test number for now and swap it when it arrives.
Set YOUR_BUSINESS_PHONE_HERE to the owner's cell
Modules 11 and 14 send a "New Lead" alert to the business. This is where the roofer gets notified on their phone.
Review both SMS message texts (business hours + after hours)
Modules 9 and 12. Personalize with the client's business name or any custom wording from their onboarding form.
Connect the webhook to their lead source
Copy the Make.com webhook URL (module 1 β click the webhook β copy URL). Paste it into their CRM, website form, or wherever leads come from.
Run a test lead through the scenario
Click Run once in Make.com, submit a test form with your phone number. Confirm SMS arrives, dashboard shows the event, error log is clean.
β If SMS arrives and dashboard shows data β outbound is live.
Turn scenario ON
Toggle the scenario to ON. It's webhook-triggered so it fires automatically β no cron schedule needed.
Make.com β Inbound SMS Scenario
Import inbound_blueprint.json into Make.com
Same process as outbound β Create new scenario β Import Blueprint.
Set Client ID in Module 2
Same as outbound β replace YOUR_CLIENT_ID_HERE with their client ID.
Replace all YOUR_API_SECRET_HERE
2 HTTP modules (Flag Opt-Out, Log Inbound Reply). Same API secret as outbound.
Set YOUR_VONAGE_NUMBER_HERE in HELP and Opt-Out reply modules
Modules 6 and 7 send SMS back to the customer. Use the same TFN as outbound.
Update HELP message with real contact info
Module 7. Replace YOUR_BUSINESS_PHONE_HERE and YOUR_BUSINESS_EMAIL_HERE with the client's actual contact info.
Copy the inbound webhook URL
Module 1 β copy the webhook URL. This goes into Vonage as the inbound SMS webhook for their TFN.
Set inbound webhook in Vonage for their TFN
Vonage Dashboard β Numbers β their TFN β Edit β set Inbound Webhook URL to the Make.com URL from the step above. Method: POST.
Test opt-out flow
Text STOP from your phone to their TFN. Confirm you get the unsubscribe confirmation SMS and the number is blocked in the DB.
Turn inbound scenario ON
Vonage Voice β Missed Call System
Create a Vonage Voice Application
Vonage Dashboard β Applications β Create a new application β enable Voice capability. Set:
Answer URL: https://responsepro-api.onrender.com/api/voice/answer (GET)
Event URL: https://responsepro-api.onrender.com/api/voice/event (POST)π‘ One Voice Application covers all clients β you don't need a new one per client.
Link their Vonage number to the Voice Application
Vonage Dashboard β Numbers β find their number β Edit β assign it to the Voice Application you just created. This tells Vonage to hit your Answer URL when that number receives a call.
Confirm MAKE_MISSED_CALL_WEBHOOK is set in Render
Render Dashboard β ResponsePro API β Environment β confirm MAKE_MISSED_CALL_WEBHOOK is set to your Scenario 1 Make webhook URL. This is a one-time setup β same value for all clients.
Import missed_call_blueprint.json into Make.com
Create new scenario β Import Blueprint. Set Client ID in the SET CLIENT ID module. Replace all YOUR_API_SECRET_HERE in HTTP modules. Set YOUR_VONAGE_NUMBER_HERE to their TFN. Set YOUR_BUSINESS_PHONE_HERE to the roofer's cell for the business alert SMS.
Review the missed call SMS message text
Personalize with the client's business name. Must include "Reply STOP to opt out." Example: "Hi, you just called [Business Name] and we missed you. Still need a roofing estimate? Reply here and we'll get right back to you. Reply STOP to opt out."
Test by calling the Vonage number and not answering
Call their Vonage number from your cell. Let it ring out β don't answer. Wait ~30 seconds then check: (1) Missed Calls tab shows a new row, (2) SMS arrives on your phone, (3) error log is clean.
β If all three pass β voice is live. Turn the Make scenario ON.
Client Handoff
Send the client their dashboard login URL
https://dashboard.responsepro.app?client=CLIENT_ID&token=THEIR_PINπ‘ Send via text or email. Tell them to bookmark it β that link logs them in automatically.
Walk them through the dashboard (5 min)
Show them: Lead Analytics KPIs, the weekly chart, Missed Calls tab, and how to read response times. Keep it simple β they care about leads contacted and response speed.
Confirm billing is set up
Make sure they've paid the setup fee (if applicable) and their first month is collected. Don't leave this step until billing is confirmed.
Update onboarding status to Active
Onboarding tab β find their row β click β Active. This is your internal record that they're fully live.
Schedule 7-day check-in
Set a reminder to follow up in 7 days. Ask: Are they getting SMS alerts? Any issues? This is also your shot to get a testimonial early.