Skip to documentation content
CRM and commerce

Connect HubSpot

Import HubSpot contact data into AXO profiles.

All connectors · Checked against AXO’s implementation in October 2026.

Prepare access

Use an owner or admin account in AXO and confirm the selected site. Have permission to authorize the external account or create its server credentials. Keep secrets in the connector’s protected configuration.

Connect

The current catalog form does not expose the full configuration for this connector. Use Advanced setup below before completing these steps.

  1. Create a hubspot integration with empty config using the advanced procedure.
  2. While signed into AXO, open /api/integrations/oauth/hubspot/start?integration_id=YOUR_ID and authorize the intended HubSpot account. The requested scope is crm.objects.contacts.read.
  3. Enable the integration after authorization, then return to Integrations and verify a matched profile after scheduled source synchronization.

Verify the result

There is no generic test handler for HubSpot. Verify an imported contact’s known attributes and identity; authorization alone does not prove synchronization.

Record the AXO integration or trigger result and the receiving system’s result. A saved configuration, credential check, and completed delivery establish different things. Use a controlled destination for a test that writes data or sends a message.

Fix a failed connection

oauth_error=not_configured means the deployment’s HubSpot OAuth app needs configuration. Reconnect after revocation or scope errors.

For a saved catalog connector, open Health to read the latest error, then repair the settings through the setup method on this page. Pause delivery while correcting an unintended destination. Reconnect OAuth when its grant is revoked; for key-based connections, save the replacement key, verify it, then revoke the old key at the provider.

Advanced setup with an AXO MCP client

  1. Connect the AXO MCP server with write access to the intended site. The authenticated account must have owner/admin permission.
  2. Call create_integration with the type below and a config object using the exact field names above. Start with active: false and no event subscriptions. Supply credential values through your protected tool configuration.
  3. Keep the returned integration ID. Use update_integration for corrections rather than creating duplicates.
  4. Complete any authorization steps above, configure the trigger or source, and perform the verification described here. Source imports need the integration enabled before scheduled synchronization can run. Use test_integration only if this guide describes a supported test.
  5. Use update_integration with the returned integration_id and active: true to enable the integration after checking its external account and payload. Enable the intended trigger separately. Copy expected_revision from the latest get_integration read when one is returned.
Create integration arguments
{
  "type": "hubspot",
  "config": {},
  "events": [],
  "active": false
}

The example is a configuration checklist. Replace placeholders and omit optional or inapplicable fields before calling the tool. A dry run previews the request but does not validate provider access.

Next: create an event-triggered action, or implement a webhook receiver.