Targets
HubSpot
Was this page helpful?
Documentation Index
Fetch the complete documentation index at: /docs/llms.txt
Use this file to discover all available pages before exploring further.
| Capability | Required | Granted by (any one) |
|---|---|---|
| Provision users | Yes | settings.users.read, settings.users.write, crm.objects.users.read, crm.objects.users.write |
| Read teams | Yes | settings.users.teams.read |
| Assign seats and paid permission sets | settings.billing.write |
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Email address the user signs in with. HubSpot does not change it once the user exists. |
firstName | string | First name. | |
lastName | string | Last name. | |
role (Permission set) | enum | Permission set ID. One that carries a paid seat needs Klef’s billing access. | |
primaryTeam | enum | Team ID of the user’s primary team. | |
teams | grant | Teams the user belongs to besides their primary team. One row grants one team. | |
teams[] | string | Team ID. | |
seats | grant | Paid seats assigned to the user, from those the account has bought. Needs Klef’s billing access. One row grants one seat. | |
seats[] | string | Seat name. | |
active | bool | Whether the user is in the account. HubSpot has no inactive user, so switching this off removes the user. |
| Account field | Worker field |
|---|---|
email | worker.business_email |
stage active {
target hubspot.user {
email = worker.business_email
firstName = worker.legal_name.given
lastName = worker.legal_name.family
role = lookup(table.hubspot_permission_sets, worker.department.name)
primaryTeam = lookup(table.hubspot_teams, worker.department.name)
active = true
}
}
Was this page helpful?