HubSpot for sales, SendGrid for product mail
A software company keeps contacts and deals in HubSpot while SendGrid sends receipts and onboarding mail from its own domain. One Plandalf sequence updates both after each paid order.

Used side by side
Plandalf does not sync HubSpot with SendGrid. It sits beside both: checkout events by webhook, countdown images in the emails each one sends.
No credit card required. No coding required.
HubSpot
SendGridPlandalf does not connect HubSpot and SendGrid to each other and has no native step for either. What it does: a Send Webhook step can post a checkout event to HubSpot's or SendGrid's API, a HubSpot workflow can call a Plandalf catch URL, and countdown images work in HubSpot emails and SendGrid templates. Check each vendor's docs for any direct link.
| Event | From and to | Through | What happens |
|---|---|---|---|
| Checkout completed | Plandalf → HubSpot | Webhook | Send Webhook upserts the buyer through HubSpot's contacts API with a private app token as a Bearer header. |
| Checkout completed | Plandalf → SendGrid | Webhook | A second Send Webhook can add the buyer to a Marketing Campaigns list with SendGrid's contacts endpoint, which is asynchronous and returns a job_id. |
| Receipt or onboarding mail | Plandalf → SendGrid | Webhook | A Send Webhook to the Mail Send endpoint with a dynamic template ID and dynamic_template_data sends a transactional email from your own SendGrid account. |
| Workflow webhook | HubSpot → Plandalf | Webhook | A HubSpot workflow can post a contact to a Plandalf Webhook Trigger URL, which runs Enroll in Promo for that email. |
| Countdown image | Plandalf → SendGrid | By hand | The image tag lives in a dynamic template and reads the recipient from dynamic_template_data, so the send must include an email field. |
| HubSpot to SendGrid | HubSpot → SendGrid | By hand | Plandalf does not move data between these two apps. Look at HubSpot's app marketplace and SendGrid's documentation for a direct connection. |
Treat the two as separate destinations. Each Send Webhook step needs its own API key in Headers.
In HubSpot create a private app with contact write access. In SendGrid create an API key with the permissions the endpoint needs, which SendGrid's reference page does not list, so check its docs.
Pick your offer under Automation, My Sequences, and choose a recent checkout as the sample on the Test tab.
Add Send Webhook with POST, the HubSpot batch upsert URL, Authorization: Bearer plus your token, and a payload keyed on {{trigger.customer_email}}.
Add a second Send Webhook to SendGrid's Mail Send URL with a bearer key. Set template_id to a dynamic template starting d-, and put {{trigger.customer_email}} and the order summary into dynamic_template_data.
Create a promo, copy its countdown image tag, and paste it into the HubSpot HTML module or the SendGrid template. Use each tool's own recipient token for the ref.
Run each step's test with your own address and read the response, because the two APIs accept different bodies. Then buy with a Stripe test card and check both.
A software company keeps contacts and deals in HubSpot while SendGrid sends receipts and onboarding mail from its own domain. One Plandalf sequence updates both after each paid order.
A team sends marketing mail through HubSpot and ticket mail through SendGrid. The same promo shows the same deadline in both.
ref value.Checked October 26, 2026 against Plandalf's own setup guides and the vendor documentation: HubSpot CRM API: contacts, HubSpot: use webhooks with workflows, SendGrid API: add or update a contact, SendGrid API: mail send.