HubSpot + WhatsApp Integration Setup Guide
This guide walks through installing and configuring the LetsBot app inside HubSpot, step by step, until your first automated WhatsApp message fires from your CRM events.
1. Before you start
- A LetsBot account. You can start with a 14-day free trial, no credit card required.
- A WhatsApp Business number connected inside LetsBot, since messages are sent through the official WhatsApp Business API.
- A HubSpot account where you have permission to install apps (an account admin).
- Valid international-format phone numbers on your HubSpot contacts, so the app can resolve the recipient.
2. Install the app and connect HubSpot
The connection is made through HubSpot OAuth. You are never asked to copy or paste an API key.
letsbot.net/login
3. Permissions requested, and why
The app requests only the permissions its features actually need. This is the complete list:
| Scope | Why it is needed |
|---|---|
crm.objects.contacts.read |
Read contact properties (name, phone, email) to resolve the recipient and fill the message variables. |
crm.objects.contacts.write |
Create a contact when a WhatsApp message arrives from an unknown number, and log replies as notes on the contact timeline. |
crm.objects.deals.read |
Read deal properties (name, stage, amount, close date) and the associated contact, to power the deal triggers. |
tickets |
Read ticket properties (subject, content) and the associated contact, to power the ticket trigger. |
4. Choose a trigger event
Each event is independent: you enable only what you need and can switch the rest off at any time. No message is ever sent for an event you did not enable yourself.
| Event | HubSpot subscription type | What happens |
|---|---|---|
| Contact created | contact.creation |
Sends a welcome message the moment a new contact is added in HubSpot. |
| Contact lifecycle stage changed | contact.propertyChange |
Sends a message when the contact moves to a new lifecycle stage (for example, Marketing Qualified Lead). |
| Deal created | deal.creation |
Messages the contact associated with the deal as soon as it is created. |
| Deal stage changed | deal.propertyChange |
Sends an update when the deal moves to another stage in your pipeline. |
| Ticket created | ticket.creation |
Notifies the customer on WhatsApp that their ticket was received and is being handled. |
5. Write the message or pick a template
For each event you can write a quick text message, or choose a rich WhatsApp template that supports buttons, lists and media. HubSpot data is inserted into the message through these variables:
| Variable | Value |
|---|---|
{CONTACT_FIRSTNAME} |
Contact first name |
{DEAL_NAME} |
Deal name |
{DEAL_STAGE} |
Deal stage |
{DEAL_AMOUNT} |
Deal amount |
{TICKET_SUBJECT} |
Ticket subject |
{TICKET_CONTENT} |
Ticket content |
Messages support both Arabic and English. If the contact language is set in LetsBot the matching version is sent, otherwise the English version is used by default.
6. Activate and test
7. Replies logged back into HubSpot
When a customer replies on WhatsApp, LetsBot logs the reply as a note on the contact timeline in HubSpot, so the full conversation context stays on the customer record. If the reply comes from a number you do not have, a contact is created automatically and the note is logged against it.
8. Troubleshooting
The message did not arrive
- Check that the event toggle is switched on and saved.
- Check that the HubSpot contact carries a valid international-format phone number; without it the recipient cannot be resolved.
- Check that your WhatsApp Business number is connected and shows as online inside LetsBot.
Deal or ticket triggers are not firing
Deal and ticket triggers rely on an associated contact, because the message is sent to a person rather than to a record. Associate the deal or ticket with a contact that has a phone number, then try again.
The connection dropped
This happens if the app was uninstalled from within HubSpot or the authorization was revoked. Reconnect from the LetsBot panel by clicking Connect HubSpot again.
9. Disconnect and uninstall
You can disconnect at any time from the LetsBot panel using the disconnect button, or by removing the app from the connected apps settings in your HubSpot account. As soon as it is disconnected all automated messages stop immediately and the app retains no access to your data.
10. Data and privacy
All data is transmitted over an encrypted connection and access tokens are stored encrypted. LetsBot reads from HubSpot only the fields required to personalize the message and resolve the recipient, and your data is never shared with any third party.
Privacy Policy · Terms of Service · Contact support