HubSpot synchronization choices

Read provider field labels and separate Wallkit mapping selectors. This catalog does not save field mappings, send member values or change Wallkit membership.

TaskOperation
Read mapping choicesRead choices

Example clients and synthetic values follow response conventions.

Read synchronization choices

GET /api/v1/integrations/hubspot/sync-fields

Read provider field labels and separate Wallkit mapping selectors. This catalog does not save field mappings, send member values or change Wallkit membership.

Before you call

Use an existing active member and valid resource with custom token and resource headers. Shared guards reject inactive callers and locked/suspended relationships. See credential transport.

Ordinary member ACL permits this action. The initializer checks that the hubspot settings object exists; the adapter takes its api_key value as an OAuth2 token. Object presence does not prove a usable token. Use the existing selected integration context; configured Firebase resolution follows the API context.

Request

No request body or action-specific query parameters.

NameLocationType / requirementMeaning
resourceheaderresource public key; requiredSelects existing resource integration.
tokenheaderauthorized member session token; requiredResolved caller identity; the prerequisite role requirements still apply.

Result

HTTP 200 with provider contact-property labels and independent Wallkit selectors. Provider fields come from a synchronous contactProperties all request. Missing response data becomes an empty provider collection. No explicit local catalog cache or pagination loop is used.

FieldType / presenceMeaning
hubspotmap of provider property name to provider label; empty [] possibleContact property choices such as firstname; no values or saved mapping pairs included. Provider names/types are not normalized to a universal schema.
wallkitsorted array of selector stringsDynamic model-derived and explicit mapping choices such as User.email; not current values or a universal response schema. Duplicate selectors may remain.

Example: Inspect provider and Wallkit choices

curl "${WALLKIT_API_BASE}/api/v1/integrations/hubspot/sync-fields" \
  -H "resource: ${RESOURCE_KEY}" \
  -H "token: ${USER_TOKEN}"
const response = await fetch(`${process.env.WALLKIT_API_BASE}/api/v1/integrations/hubspot/sync-fields`, {
  method: "GET", headers: { "resource": process.env.RESOURCE_KEY, "token": process.env.USER_TOKEN }
});
console.log(response.status, await response.json());
import os, json
from urllib.request import Request, urlopen
from urllib.error import HTTPError

request = Request(os.environ["WALLKIT_API_BASE"] + "/api/v1/integrations/hubspot/sync-fields",
    headers={"resource": os.environ["RESOURCE_KEY"], "token": os.environ["USER_TOKEN"]}, method="GET")
try:
    with urlopen(request) as response:
        print(response.status, json.load(response))
except HTTPError as error:
    print(error.code, json.load(error))

Synthetic HTTP 200 excerpt:

{
  "hubspot": {
    "firstname": "First name"
  },
  "wallkit": [
    "User.email"
  ]
}

The Wallkit selector list is excerpted. Choose meaningful pairs through existing integration configuration; this call does not apply them.

Consequential alternate

Synthetic HTTP 200 excerpt when provider response data is absent:

{
  "hubspot": [],
  "wallkit": [
    "User.email"
  ]
}

Wallkit selector choices can still exist while the provider catalog is empty. This is not proof of healthy provider configuration.

Recovery

HTTP statusCode / shapeCauseNext action
500integration_error / Hobspot integration not configuratedhubspot settings object missing; literal message uses Hobspot.Ask owner to inspect selected resource’s existing configuration.
Shared failureNo stable action-specific provider error shapeAdapter initialization or provider contact-property request throws; no local action catch.Check the reported condition and existing configured OAuth-token value with the owner.

Next task

Use the existing integration configuration process to choose mappings. For a separate member preference task, see Mailchimp preferences; these field choices do not authorize a subscription or content-access change.

Follow the task guide

Read the 3rd party integration flows for request order, context choices and response decisions.

Full diagram

Use the arrow keys to scroll. Escape closes this view.

Search documentation

Enter at least 2 characters.

    ↑ ↓ move through results · Enter opens · Escape closes