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.
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 Pro add-on supplies the two features you need for stateful HubSpot flows — Code Glue (PHP snippets that run pre and post dispatch) and dynamic URL templates ({{ field.path }} in endpoint URLs).
Pro is the convenient path, not the only path. Every Pro example in this series has a free-plugin equivalent — implement 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 each card and in each article — it names the specific hooks that replace the Pro snippet for that step.
Each example below is independent but builds on the previous one. Part 5 ties everything together into a single coherent hubspot and woocommerce integration: order placed → deal created → line items mirrored → contact created → everything associated → deal moved to Closed Won on order completion.
{{ field.path }} URL templates, needed when one webhook depends on an ID returned by an earlier webhook. Parts 1, 3, 4 and 5 of this series use Pro for convenience, but every example can also be built on the free plugin alone by writing a mu-plugin against three documented hooks: fswa_webhook_payload (payload shaping), fswa_webhook_url (URL template), and fswa_glue_post_dispatch (post-dispatch side effects). Each card and each article shows a blue Filter OK badge naming the specific hooks for that step.
do_action() calls in your theme or plugins. The HubSpot side just needs a Private App access token with the relevant scopes (deals, contacts, products, line_items depending on the example).