HubSpot

Integration

HubSpot

Plandalf integrates with HubSpot as a crm, marketing, email platform.

What it does

Product surfaces

Where HubSpot fits in the buying workflow

Integrations work best when the checkout surface, payment state, invoice record, and post-purchase automation all point at the same commercial object. These product screens show the Plandalf controls that should be configured before HubSpot receives checkout, payment, tax, or workflow context.

The Numi offer editor showing layout, product, theme, automation, invoice, and settings controls.
The Numi checkout elements palette showing content, interactive, and selling blocks.
The Numi offer editor automation tab showing sequence controls beside the checkout canvas.

Purchase events can start follow-up

HubSpot should fit into the work after checkout: fulfilment, records, CRM updates, support context, webhooks, and sequences.

Builder paths

Stack guides that use HubSpot

Use these stack guides when a builder needs the whole path: sales surface, Plandalf offer, payment handoff, automation, fulfilment, records, and downstream integrations.

Overview

HubSpot is a CRM and marketing platform. Its Workflows product supports webhook actions natively (on Professional and above), making it a straightforward bridge between contact properties / form submissions and Plandalf promo enrolment.

What Plandalf does here

  • Countdown in marketing emails{{ contact.email }} personalises the <img src> query string per recipient.
  • Workflow-driven enrolment — Marketing Hub Pro’s Send-a-webhook action POSTs JSON directly to the promo’s catch URL. Free-tier accounts route the same flow through Zapier.

Setup templates

Drop-in implementations

Copy-paste setups for the most common ways to wire HubSpot into Plandalf.

promo · email

Drop the Plandalf countdown image into a HubSpot email

Paste this <img> tag into a HTML module inside your HubSpot marketing email. {{ contact.email }} is HubSpot's personalization token — it substitutes at send time with the recipient's address.

<img
  src="{{ promo.countdown_url }}?ref={{ contact.email }}"
  alt="Time remaining on this offer"
/>

promo · automation

Enrol HubSpot contacts via a Workflow

  1. In HubSpot, go to Automation → Workflows → Create workflow.
  2. Pick an enrolment trigger — Form submission, List membership, or Contact property depending on your setup.
  3. Add an action: Send a webhook.
  4. Method POST, URL:
    {{ promo.catch_url }}
    
  5. HubSpot sends a JSON body with the contact properties; email is at the top level. No extra body-editing required.
  6. Turn the workflow on.

(HubSpot's Send-a-webhook action requires a Marketing Hub Professional or Enterprise seat. On free / Starter tiers, use Zapier or a Custom API call instead — both shown in the other tabs.)

Automation graph

Connecting HubSpot

How HubSpot participates in Plandalf sequences: what events it exposes upward, and what actions Plandalf can perform on it.

Triggers from HubSpot

Events Plandalf can subscribe to through webhooks, API work, checkout state, payment context, and connected integrations.

hubspot.subscriber_added
Fires when a new subscriber is added to HubSpot.
hubspot.automation_step_reached
Fires when a contact reaches a designated step in a HubSpot automation.
hubspot.form_submitted
Fires when a form on HubSpot is submitted.
hubspot.webhook
Fires when HubSpot POSTs to a Plandalf webhook URL — use for anything not covered by a native trigger.

Actions on HubSpot

Things Plandalf sequences can do after checkout, payment, invoice, customer, or deadline events.

hubspot.add_subscriber
Add a contact to a list or audience in HubSpot.
hubspot.tag
Apply a tag or segment to an existing HubSpot contact.
hubspot.send_email
Send a one-off transactional or broadcast email through HubSpot.
hubspot.start_automation
Enrol a contact into a HubSpot automation.
hubspot.upsert_contact
Create or update a contact record in HubSpot.
hubspot.create_deal
Open a new deal or opportunity in HubSpot.
hubspot.custom_api_call
Hit any HubSpot REST endpoint with a templated payload.

Embeddable surfaces: Plandalf countdown image and buy button HTML · Per-recipient countdown GIF with merge-tag substitution

Example sequence
trigger: stripe.payment_succeeded
actions:
  - hubspot.add_subscriber:
      list: paying-customers
      tag: tier-${plan}
  - plandalf.grant_entitlement: ${product_slug}

Integration methods

How HubSpot connects to Plandalf

Each method below is the minimum viable setup. Pick the one closest to how you already use HubSpot with checkout, payments, invoices, webhooks, API work, SDK checkout, and integrations.

  1. Method 1

    Embed a Plandalf buy button

    Drop the Plandalf embed script into a HubSpot HTML block and tag any element with `data-plandalf-present` to open the configured flow on click.

    <script src="https://cdn.plandalf.com/embed.js" async></script>
    
    <button data-plandalf-present="offer_abc123">
      Buy now
    </button>
  2. Method 2

    Drop in a per-recipient countdown image

    Add an HTML block to any HubSpot email and paste the Plandalf countdown URL. HubSpot's merge tag `{{ contact.email }}` substitutes per recipient so each subscriber sees a timer pegged to their own deadline.

    <img
      src="https://cdn.plandalf.com/timers/{TIMER_ID}.gif?ref={{ contact.email }}"
      alt="Time remaining on this offer"
      width="600"
      height="120"
    />
  3. Method 3

    Trigger a sequence from a form

    Point a HubSpot form's webhook / POST URL at Plandalf's intake endpoint and every submission starts whatever sequence you've mapped to it.

    curl -X POST https://api.plandalf.com/v1/intake/hubspot \
      -H "Content-Type: application/json" \
      -d '{"email": "{{ form.email }}", "source": "hubspot"}'
  4. Method 4

    Enrol from an automation step

    Inside HubSpot's automation builder, add a Webhook step that POSTs the contact to a Plandalf sequence catch URL. Use this to mirror HubSpot journey logic into Plandalf without re-building the segmentation.

    {
      "email": "{{ contact.email }}",
      "sequence": "post-signup-onboarding",
      "source": "hubspot"
    }
  5. Method 5

    REST API webhook

    For anything not covered by a native trigger, configure a HubSpot webhook to POST to Plandalf. The payload is forwarded into the sequence as `${event}`.

    curl -X POST https://api.plandalf.com/v1/webhooks/hubspot \
      -H "Authorization: Bearer $PLANDALF_API_KEY" \
      -H "Content-Type: application/json" \
      -d @event.json
Official HubSpot docs and sign-up: www.hubspot.com

FAQ

Common questions about the HubSpot integration

Do I need a paid plan to use HubSpot with Plandalf?

Plandalf itself is free to connect. HubSpot's native webhook step is on its paid tiers — on the free plan, route the trigger through Zapier instead, which still works end-to-end.

How long does setup take?

Under 10 minutes. OAuth (or paste an API key), pick the lists/segments you care about, and you're live. No code unless you want it.

Can I disconnect HubSpot later without losing data?

Yes. Disconnecting only revokes the credentials — historical events Plandalf fired stay in your sequence logs, and HubSpot's own records are untouched. You can reconnect any time and resume from the last seen event.

Does Plandalf store HubSpot data?

Plandalf stores the HubSpot contact ID and the events Plandalf fired against that contact. Email content stays in HubSpot; Plandalf doesn't mirror your audience or newsletter archive.

What if my crm need isn't covered by the actions or triggers listed here?

Use the generic `hubspot.custom_api_call` action or the inbound `hubspot.webhook` trigger. Anything HubSpot's REST API can do, a Plandalf sequence can drive.

Is there a usage limit?

Plandalf respects HubSpot's API rate limits and backs off on 429s. For very high-volume use cases, ask about a dedicated worker pool.

Where do I find HubSpot's own documentation?

HubSpot's homepage at https://www.hubspot.com links to their developer docs. For Plandalf-side questions about the HubSpot integration, see the Plandalf docs.

Feature detail