Preview before write Diffs, policy posture, and rollback readiness appear before the connector executes.
Simulation or sandbox first The product starts with a deterministic story before it asks for production trust.
Proof stays attached Approval, audit, artifacts, and recovery context stay on the same governed run.
Connector

HubSpot CRM

Use this checklist to move from stored OAuth credentials to a validated HubSpot workflow with rollback evidence.

Overview
HubSpot CRM

HubSpot CRM can be evaluated in a vendor-provided developer environment before you connect a customer-owned sandbox.

Sandbox availability

Sandbox-ready
Live sandbox path
Official free dev
HubSpot account with developer tooling enabled and a developer test account
First action hubspot.update-deal
Live sandbox path Connector-specific auth, metadata sync, and live sandbox write paths exist here, but the lane is still pre-pilot and not yet proven with real external tenants.
Sandbox posture HubSpot developer overview with a developer test account
Next move Start with: Save connector settings.
Developer connection steps

Keep the first connector setup constrained to one environment, one identity, and one clearly reviewable workflow.

01
create-developer-account

Create a HubSpot developer account and test account

Use the official HubSpot developer path to create a developer account and a developer test account for the first CRM workflow.

02
create-app

Create the HubSpot app and OAuth credentials

Create the app or private integration you plan to use, then capture the app URL, API base URL, client credentials, refresh token, and the first deal, company, and contact property allowlists.

03
configure-actionplane

Enter the HubSpot settings in ActionPlane

Open the HubSpot connector page in ActionPlane and save the API base URL, OAuth credentials, and the first narrow property allowlist for the workflow.

04
validate-sync

Validate auth and sync CRM properties

Validate the token flow, sync metadata so the CRM properties are visible, and confirm that only the first workflow properties are writable.

05
run-first-sample

Run the first deal update in the test account

Submit the canonical sample as a dry run first, then run one real deal update in the developer test account before widening object coverage.

Canonical sample scenario

Business context

Start with one record and one reviewed write path that is easy for both a technical evaluator and a buyer to follow.

Starting record state

The sample record is stable, the allowlist is narrow, and the operator can see the exact fields that are about to change.

Requested change

Apply one deterministic change that produces a visible preview, clear policy outcome, and reversible execution path.

Why it routes

The first sample needs to be explainable without narration, so it should route through the same approval or execution lane you plan to use in production.

Expected artifacts

The sample should leave request evidence, output evidence, and a short audit trail that explains why the run moved forward or stopped.

Reset behavior

Reset should return the sample record to the initial seeded state.

Onboarding API
Use an authenticated ActionPlane session or bearer token. These endpoints act on the current workspace by default, so connector setup stays inside the same operator context as the UI.
GET /api/connectors/onboarding/hubspot-crm
GET /api/connectors/onboarding/hubspot-crm/metering
POST /api/connectors/onboarding/hubspot-crm/connect
POST /api/connectors/onboarding/hubspot-crm/validate
POST /api/connectors/onboarding/hubspot-crm/sync-metadata

Onboarding metering tracks activation progress for the connector. It is not a separate billable unit; workspace billing remains governed-run based.

Connect payload

Save the connector, validate it immediately, and sync metadata in one authenticated call.

{
  "loginUrl": "https://app.hubspot.com",
  "instanceUrl": "https://api.hubapi.com",
  "clientId": "\u003Cclient-id\u003E",
  "clientSecret": "\u003Cclient-secret\u003E",
  "refreshToken": "\u003Crefresh-token-or-empty\u003E",
  "apiVersion": "v3",
  "isSandbox": true,
  "isEnabled": true,
  "validateAfterSave": true,
  "syncMetadataAfterSave": true,
  "managedObjects": [
    {
      "objectApiName": "deals",
      "displayName": "Deals",
      "allowedFields": [
        "dealstage",
        "amount",
        "closedate",
        "hs_next_step"
      ]
    },
    {
      "objectApiName": "companies",
      "displayName": "Companies",
      "allowedFields": [
        "phone",
        "website",
        "description"
      ]
    },
    {
      "objectApiName": "contacts",
      "displayName": "Contacts",
      "allowedFields": [
        "jobtitle",
        "phone",
        "hs_lead_status"
      ]
    }
  ]
}
curl -X POST \
  "$ACTIONPLANE_BASE_URL/api/connectors/onboarding/hubspot-crm/connect" \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json" \
  --data @"connect-hubspot-crm.json"
Validate

Re-run auth and instance validation without resubmitting the connector payload.

curl -X POST \
  "$ACTIONPLANE_BASE_URL/api/connectors/onboarding/hubspot-crm/validate" \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json"
Sync metadata

Refresh the writable object and field catalog after credentials or allowlists change.

curl -X POST \
  "$ACTIONPLANE_BASE_URL/api/connectors/onboarding/hubspot-crm/sync-metadata" \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json"
Capabilities

Connector-specific preview before execution

Approval routing for risky writes

Rollback context, evidence, and audit history attached to the same ActionPlane run

First-class onboarding API can save, validate, and sync the connector in one authenticated flow

Go live

Start with one sandbox record or ticket that accurately mirrors production shape and permissions.

Validate preview, approval, output evidence, and recovery posture before widening workflow scope.

Move to production only after the first evaluator can demo the path without founder narration.

Known limits

ActionPlane documents the sandbox lane clearly, but the fully seeded simulation workspace is not available for this connector yet.

Keep the first workflow narrow so validation and metadata freshness remain obvious during evaluation.

Use only non-production records while the connector remains in beta posture.