WP Webhooks / Examples / HubSpot × WooCommerce

HubSpot WordPress Plugin WooCommerce Integration Series

A complete HubSpot WordPress plugin walkthrough for WooCommerce stores. Five examples, one stack — deals, products, line items, contacts, and the full HubSpot object graph. No Zapier. No middleware. WordPress → HubSpot directly.

hubspotwoocommerceseries

HubSpot's official hubspot plugin wordpress integration handles the basics — form-to-contact capture and a few stock fields. The moment you need more (deal creation on a specific WooCommerce event, line items mirrored from your product catalog, contact-deal associations on order completion), the official plugin's fixed schema runs out.

This series uses Webhook Actions as the HubSpot WordPress plugin layer: a free WordPress plugin that ships any WordPress event to any HTTP endpoint, with retry, logging, conditions, and a full REST API. The two features that make stateful HubSpot flows possible — Code Glue (PHP snippets that run pre and post dispatch) and dynamic URL templates ({{ field.path }} in endpoint URLs) — are part of the free plugin from v3.0.0 on.

Snippets are the convenient path, not the only path. Every step in this series can also be written as code you deploy yourself — the same flow in a mu-plugin against three documented hooks: fswa_webhook_payload (pre-dispatch payload shaping), fswa_webhook_url (URL template expansion), and the fswa_glue_post_dispatch action (post-dispatch side effects). Look for the blue Filter OK badge on a step — it names the hooks that do the same job as that step's snippet. Worth knowing on hosts that set DISALLOW_FILE_EDIT, where WordPress will not let the admin write a snippet at all.

Each example below is independent but builds on the previous one. Part 5 ties everything together into a single coherent integration: order placed → deal created → line items mirrored → contact created → everything associated → deal moved to Closed Won on order completion.

FAQ

Common questions always ask.

Don't see yours? Open an issue on GitHub or check the full reference in the API docs.

Is Webhook Actions a HubSpot WordPress integration plugin? +
Webhook Actions is a general-purpose WordPress webhook plugin — it ships any WordPress event to any HTTP endpoint. HubSpot is one of the most common targets, so we maintain this five-part series of HubSpot WordPress integration examples covering deals, products, line items, contacts, and the full HubSpot object graph.
Does this replace HubSpot's official WordPress plugin? +
It serves a different need. The official HubSpot WordPress plugin pushes data on a fixed schema. Webhook Actions lets you define exactly which WP/WC events become which HubSpot writes, on which conditions, with a full delivery log and replay. Most teams that outgrow the official plugin land here.
Is the HubSpot WordPress plugin integration free? +
The free plugin handles all one-way push flows — create-deal, push-product, create-contact, send custom events. The Pro plugin adds Code Glue (PHP snippets for stateful flows) and dynamic URL templates, which are needed when one webhook depends on an ID returned by an earlier webhook. Every Pro example in this series can also be built on the free plugin alone via three documented hooks: fswa_webhook_payload, fswa_webhook_url, and the fswa_glue_post_dispatch action — Pro just packages them as admin-editable snippets.
What is the difference between HubSpot CRM WordPress and full HubSpot integration? +
HubSpot CRM WordPress typically refers to one-way contact capture (forms → contacts). Full HubSpot integration covers the whole object graph: contacts, companies, deals, products, line items, and the associations between them. This series builds toward the full graph by Part 5.
Can I run this hubspot plugin wordpress series on any WordPress site? +
Yes. The series targets WooCommerce specifically, but the underlying Webhook Actions plugin works on any WordPress event — ACF, user registration, custom post types, custom actions. The HubSpot side just needs a Private App access token with the relevant scopes.
Ready

Stop losing webhooks.
Start logging them.

$ wp plugin install flowsystems-webhook-actions --activate