Productivity

Send WhatsApp Messages from HubSpot or Pipedrive (API)

HubSpot and Pipedrive can fire a webhook when a deal or contact changes. Here is why that webhook cannot call the Blueticks send endpoint on its own, and the bridge step that makes it work.

Daniel Roth7 min read

Send WhatsApp Messages from HubSpot or Pipedrive (API)
On this page

A CRM can fire a webhook when a deal moves or a contact changes. Blueticks can send a WhatsApp message from your own number through its API. This guide shows what HubSpot and Pipedrive can send, what Blueticks expects, and the bridge that joins them.

Can HubSpot or Pipedrive call the Blueticks API directly?

Not as the vendors document them. Blueticks needs the recipient in the URL path and a Bearer API key. HubSpot's webhook action documents record properties in the body or a GET query string, not the path. Pipedrive's developer webhooks document basic auth. A small bridge step between them solves both.

  1. Pick the CRM event that should trigger a message, such as a deal stage change.
  2. Send that event as a webhook to a bridge: Zapier, Make or n8n.
  3. In the bridge, build the Blueticks request with the phone number in the path.
  4. Add your bt_live_ key as a Bearer header in the bridge, not in the CRM.
  5. Test with your own number before you point it at real contacts.

Common mistake: putting the phone number in the JSON body. The Blueticks send endpoint takes the recipient in the URL path, and its body has no recipient field.

What does the Blueticks send call need?

One HTTPS request. The recipient is the last path segment, the key goes in the Authorization header, and the body says what to send. Any tool that can make an HTTPS request can send it. The same call is covered field by field in the n8n, Make and Zapier guide.

PartValue
MethodPOST
URLhttps://api.blueticks.co/v1/scheduled-messages/+5511987654321
HeaderAuthorization: Bearer bt_live_YOUR_KEY_HERE
BodyJSON with type and text; sendAt is optional

The path takes an E.164 number with a leading plus or a WhatsApp chat id. The own-number REST API guide explains the key and what it unlocks.

What are the API limits, and does WhatsApp need to be on?

On a free plan, the Blueticks API allows 5 requests per 6-hour window, shared with MCP. Any active subscription lifts that limit. A request is only useful if WhatsApp is connected. Sending needs a connected engine: the browser extension with your browser open, or the always-on Gateway on the Pro plan.

Each HTTP request counts once, so one send is one of the five. A request over the free limit gets a 429 response. If no engine is connected, the API still accepts a scheduled message and can return a no_engine_connected warning. The message then stays pending until an engine connects, and fails if none does in time.

How does the HubSpot side work?

HubSpot's Send a webhook workflow action posts record data to a URL you choose. HubSpot's help page lists it under Data Hub Professional and Enterprise. It supports POST and GET, needs an HTTPS address, and can send all properties or a body you customize.

HubSpot can send an Authorization header through its API key setting, formatted as Bearer plus a token. Its page maps properties into the query string for GET requests and into the body for POST. It does not describe putting a property into the URL path, which is where Blueticks wants the phone number.

How does the Pipedrive side work?

Pipedrive has two webhook features. Regular webhooks fire on an action and an object type, such as a deal being added, and post a JSON body with the current and previous record. The webhook action inside Automations posts a body you build with Pipedrive fields in it.

For the automation action, Pipedrive's help page says the webhook, the method and the body are required, and only global admins can create these webhooks. It also says the endpoint URL must end with a slash, an ampersand, a question mark or an equals sign. Pipedrive's developer page documents optional basic auth, not a Bearer key.

What goes in the bridge?

The bridge catches the CRM webhook and makes the real Blueticks call. In n8n it is a Webhook node followed by an HTTP Request node. In Zapier it is Catch Hook followed by a Webhooks by Zapier request. In Make it is a Custom webhook module followed by an HTTP module.

Map the CRM's phone field into the path, and make sure it is in international format with the plus. Map a message field into text. The n8n, Make and Zapier guide has the exact fields for each tool.

The connector pages checked on 2026-11-12 name these CRM pieces. Zapier lists HubSpot triggers New Contact in List, New Deal and Updated Deal Stage, and Pipedrive triggers New Deal, Updated Deal and Updated Deal Stage. Make lists a Pipedrive trigger called Watch Deals, and its HubSpot app lists Watch Deals, Watch Contacts, Watch members Added to a List and Watch CRM Objects. n8n has a HubSpot Trigger node and a Pipedrive Trigger node, and its HubSpot and Pipedrive action nodes list Deal and Contact or Person resources. Where a native trigger exists, it can replace the CRM webhook step, so the bridge starts from the trigger instead of a Catch Hook or Webhook node. n8n's HubSpot Trigger page notes that HubSpot allows only one webhook at a time.

This is a build with several steps, not a one-click connection. Test it end to end on your own number before it touches a real contact.

What if the CRM sends the same event twice?

Both CRMs retry failed webhooks. HubSpot retries for up to three days and skips most 4XX errors. Pipedrive retries up to three more times and treats a response that takes longer than 10 seconds as a failure. A slow bridge can therefore trigger a repeat.

Answer the CRM fast, then do the send. Keep a record of which CRM events you already sent, so a repeat does not send a second message. Idempotent automated sends covers the pattern on the Blueticks side.

How do you get delivery status back to the CRM?

Register a Blueticks webhook with the events you want: message.queued, message.sending, message.delivered, message.failed and message.read. Those events track a message from queued through read, or failed. Point the webhook at a second bridge flow, which then writes the result to the CRM record using the CRM's own API.

Registration, signing and parsing are covered in the webhooks guide. Pace the sends if a workflow can fire for many records at once, and start with your own number.

FAQ

Is there a native Blueticks app for HubSpot or Pipedrive?

No native CRM app is documented here. You connect through the HTTP API with a bridge such as Zapier, Make or n8n.

Do I need a paid HubSpot plan?

HubSpot's help page lists the Send a webhook action under Data Hub Professional and Enterprise. Check your own plan on that page.

Can the bridge be Google Sheets instead?

For a list in a spreadsheet, see sending WhatsApp messages from Google Sheets.

Where does the API key go?

In the bridge, as an Authorization header with the word Bearer first. Do not paste it into a CRM field that colleagues can read.


Sources read on 2026-11-12: the Blueticks send endpoint and webhook event list in code, the free-plan rate limit and engine warning in code, the HubSpot help page on webhooks in workflows, the Pipedrive help and developer pages on webhooks and automation webhooks, and the Zapier, Make and n8n connector pages for HubSpot and Pipedrive, including the Make HubSpot app page and the n8n HubSpot Trigger and Pipedrive Trigger node pages.

Share this article

The Dispatch, every week.

One sharp WhatsApp growth tactic in your inbox each week. Joined by 238,000+ founders, marketers and support leads.

Free forever. No spam, unsubscribe in one click.

Also on TikTok: @blueticksagents