crm_create_contact
Creates a single HubSpot contact from supplied properties and returns the new record. Prevents duplicate contacts on retry with an idempotency key.
Instructions
Create one HubSpot contact from the properties given and return the new record.
Use this for single creates, especially ones a retry might repeat. Use crm_batch_create_contacts to load many rows at once, and crm_update_contact to change a record that already exists.
Writes, additively. Needs the crm.objects.contacts.write scope. The call is keyed by 'idempotency_key', or by a hash of the properties when none is given, and a repeat of the same key replays the stored record instead of creating a second one. That key store lives in this process, so it covers retries within a session and not restarts. Cached contact reads are invalidated. At least one property must be supplied or the call fails validation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| No | Primary email address. HubSpot deduplicates contacts on this value. | ||
| phone | No | Phone number in any format HubSpot accepts, e.g. '+1-202-555-0101'. | |
| company | No | Company name stored on the contact. This is a text property, not an association to a company record. | |
| lastname | No | Family name. HubSpot property 'lastname'. | |
| firstname | No | Given name. HubSpot property 'firstname'. | |
| idempotency_key | No | Caller-chosen key that makes a retry replay the first result instead of creating a second record. Omit to derive one from the properties. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | HubSpot record id, stable for the life of the record. | |
| archived | No | True when the record is archived (soft-deleted). | |
| properties | No | Property values HubSpot returned for the requested property set. |