Learn how to use the communication APIs, which allow you to log WhatsApp, LinkedIn, and SMS messages to the CRM record timeline.
POST
request to /crm/v3/objects/communications
.
In the request body, add message details in a properties object. You can also add an associations object to associate your new message with an existing record (e.g., contacts, companies).
Parameter | Description |
---|---|
hs_communication_channel_type | The channel type of the message that you sent or received from the contact. Supported values are WHATS_APP , LINKEDIN_MESSAGE , or SMS . |
hs_communication_logged_from | Enum used to differentiate between conversations objects. This must be set to CRM in your request. |
hs_communication_body | The text body of the message. |
hubspot_owner_id | The ID of the owner associated with the message. This field determines the user listed as the message creator on the record timeline. |
hs_timestamp | This field marks the message’s time of creation and determines where the message appears on the record timeline. You can use either a Unix timestamp in milliseconds or UTC format. |
Field | Description |
---|---|
to | The record you want to associate with the message, specified by its unique id value. |
types | The type of the association between the message and the record. Include the associationCategory and associationTypeId . Default association type IDs are listed here, or you can retrieve the value for custom association types (i.e. labels) via the associations API. |
GET
request to /crm/v3/objects/communication/{communicationId}
.
To request a list of all of logged WhatsApp, LinkedIn, and SMS messages, make a GET
request to /crm/v3/objects/communications
.
For both endpoints, you can include the following query parameters in the request URL:
Parameter | Description |
---|---|
properties | A comma separated list of the properties to be returned in the response. If a requested property isn’t defined, it won’t be included in the response. If a requested property is defined but a communication doesn’t have a value, it will be returned as null . |
associations | A comma separated list of object types to retrieve associated IDs for. Any specified associations that don’t exist will not be returned in the response. Learn more about the associations API. |
https://api.hubapi.com/crm/v3/objects/communications?limit=10&properties=hs_communication_body&associations=contact&archived=false
.
Learn more about retrieving a batch of messages by internal ID or unique property value in the reference documentation.
PATCH
request to /crm/v3/objects/communications/{communicationId}
.
In the request body, include the message properties that you want to update:
PUT
request to /crm/v3/objects/communications/{communicationId}/associations/{toObjectType}/{toObjectId}/{associationTypeId}
. The request URL contains the following fields:
Field | Description |
---|---|
communicationId | The ID of your WhatsApp, LinkedIn, or SMS message. |
toObjectType | The type of object that you want to associate the message with (e.g., contact or company) |
toObjectId | The ID of the record that you want to associate the message with. |
associationTypeId | A unique identifier to indicate the association type between the message and the other object. The ID can be represented numerically or in snake case (e.g., communication_to_contact ). You can retrieve the value through the associations API. |
https://api.hubapi.com/crm/v3/objects/communications/12021896773/associations/contact/581751/communication_to_contact
DELETE
request to the same URL as above:
/crm/v3/objects/communications/{communicationId}/associations/{toObjectType}/{toObjectId}/{associationTypeId}
id
in the hs_pinned_engagement_id
field when creating or updating a record via the object APIs. Learn more about using the companies,contacts, deals, tickets, and custom objects APIs.
DELETE
request to /crm/v3/objects/communications/{communicationId}
.
Learn more about deleting messages in the reference documentation.