crm_batch_create_contacts
Create up to 100 HubSpot contacts in one request and get a detailed outcome for every row, so partial failures never hide unsaved records. Use for bulk loads.
Instructions
Create many HubSpot contacts in one request and report the outcome of every row.
Use this for bulk loads. Use crm_create_contact instead when a retry must not risk duplicates.
Writes, additively. Needs the crm.objects.contacts.write scope. Returns 'succeeded' with the created records and 'failed' with the input index, HubSpot status code, category, message, and original row for every rejection, so a partial failure never hides the rows that did save. This path does not go through the idempotency store: running the same batch twice can create duplicates, so re-send only the rows listed in 'failed'. Cached contact reads are invalidated.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| contacts | Yes | Contacts to create, up to 100 per call. Each item is a flat property map such as {'email': 'ada@example.com', 'firstname': 'Ada'}. Keys other than email, firstname, lastname, phone, and company are sent through as custom HubSpot properties. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| failed | No | Rows HubSpot rejected, with the reason for each. | |
| succeeded | No | Records HubSpot created, each with 'id'. |