What you need
A Call Loop number that can send and receive SMS, and contacts who have opted in.
Zapier: a Team or Enterprise plan and a Call Loop 2.0 connection.
HubSpot: the Call Loop HubSpot app connected, and a Professional or Enterprise plan that supports workflow event triggers.
Set up with Zapier
Create a Zap with the trigger Webhooks by Zapier → Catch Hook and copy the webhook URL.
In Call Loop, paste the URL into the outbound webhook for inbound SMS. Do not subscribe it to outbound messages, or the Zap will reply to its own replies.
Text your Call Loop number from an opted-in phone, then click Test trigger in Zapier.
Add Filter by Zapier so the Zap continues only when
event_typeistext.receivedandbound_typeisINBOUND.Add Paths (or ChatGPT → Conversation) to choose a reply from the message body,
message_properties.body. See Suggested replies.Add Call Loop 2.0 → Send SMS / MMS Message. Set From Number to
from_number, Phone Number (Send To) tocontact_number, and Message to the chosen reply.Run the tests below, then turn on the Zap.
Set up with HubSpot
Go to Automation → Workflows and create a contact-based workflow.
Set the trigger to When an event occurs → Call Loop: Incoming SMS.
Under Should contacts be re-enrolled?, choose Yes, re-enroll every time the trigger occurs so every new text gets a reply.
Add an If/then branch for each reply, based on the incoming message body.
In each branch, add Call Loop: Send SMS with that reply, sent from the Call Loop number that received the text.
Run the tests below, then turn on the workflow.
HubSpot only replies to texters who already exist as HubSpot contacts. You can also start the workflow from Received a webhook from an external app using Call Loop's inbound SMS webhook.
Suggested replies
Check these in order and use the first match. Replace the bracketed text with your own details.
If the message includes | Reply |
stop, unsubscribe, cancel, quit | Send nothing. Call Loop unsubscribes the contact automatically |
help, info |
|
who is this, who are you |
|
price, cost, how much |
|
hours, open, address |
|
book, appointment, schedule |
|
order, refund, billing, complaint, agent |
|
Anything else |
|
If you use AI to choose replies, only let it pick from your approved replies. It should never promise prices, refunds, or appointment times. For order, billing, and complaint messages, also create a task so someone on your team follows up.
Test before going live
Text this | Expect |
| The pricing reply |
| The follow-up reply and a task for your team |
| No reply |
| The fallback reply |
Each text should get exactly one reply. If a contact gets two, check that the webhook is subscribed to inbound texts only and that a Call Loop keyword isn't also replying.