crm_create_deal
Create a new HubSpot deal with properties such as amount, pipeline, stage, and close date. Returns the created record.
Instructions
Create one HubSpot deal from the properties given and return the new record.
Call crm_list_pipelines first when setting 'pipeline' or 'dealstage', because HubSpot only accepts a stage id that belongs to the chosen pipeline. Use crm_update_deal to move an existing deal.
Writes, additively. Needs the crm.objects.deals.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 deal reads are invalidated. At least one property must be supplied.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Deal value as a decimal string in the account currency, e.g. '2500.00'. | |
| dealname | No | Deal title shown on the pipeline board. | |
| pipeline | No | Pipeline id from crm_list_pipelines. HubSpot uses the account's default pipeline when this is omitted. | |
| dealstage | No | Stage id taken from the chosen pipeline's 'stages'. HubSpot rejects a stage id that belongs to a different pipeline. | |
| close_date | No | Expected close date as an ISO 8601 date or timestamp, e.g. '2026-09-30'. Maps to HubSpot's 'closedate' property. | |
| 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. |