Hi, I’m having some trouble when I try to associate a conversation with a contact. I’m using webhooks to get the ThreadID when the conversation is created, and I’m using the HubSpot Associations API to create the association with the ThreadID and the contact ID. However, when I try to create the association, this endpoint returns a 207 HTTP status code and tells me that the ThreadID doesn’t exist.
Another thing I noticed is that there are other association IDs in the contact with conversations. This is why I’m creating this post – how can I the real conversation ID?
I face the same issue - even though the conversationID is the same as the ThreadID but when you associate them it will say cnoversationID does not exist.
So far I only managed to associate a conversation (whatsapp message) to a contact but it can only be seen under Contacts view. What I need is for it to be seen inside the Inbox Conversations view as well so the sales team won’t have to manually associate it.
Good news! This issue has been resolved in the updated HubSpot Conversations API. You no longer need to manually create associations using the Associations API.
Check out the current Conversations API documentation - specifically the section on “Retrieve a subset of messages associated with a specific contact” for the full details.
Thanks for the update! We’ve been investigating this issue extensively.
We’ve confirmed that the retrieval improvements (filtering by associatedContactId across all thread statuses + sorting by latestMessageTimestamp) are working. However, we’re still unable to set or updateassociatedContactId on a conversation thread via the public API.
Here’s what we’ve tested (April 2026, SDK v13.5.0):
PATCH/conversations/v3/conversations/threads/{id} with {“associatedContactId”: “contactId”} returns 400 “empty body” when it’s the only field, or silently ignores it when combined with other fields like status
Associations v4PUT /crm/v4/objects/contact/{id}/associations/conversation/{id} creates the CRM association successfully (201), but does not update the associatedContactId field on the thread object. The inbox UI still shows “Unknown Visitor”
DELETE old association + PATCH old association removed, but associatedContactId remains unchanged
The HubSpot inbox UI does have an “Add existing Contact” button that successfully updates associatedContactId, so the capability exists internally. It’s just not exposed via the public API.
Could you clarify which endpoint or method should be used to programmatically set associatedContactId on an existing thread? Or is this still only possible through the UI?
Based on what’s been shared by the product team, there isn’t currently a public API endpoint to set the associatedContactId on a conversation thread - the field is read-only via the API, even though it can be updated through the inbox UI.
I’ve included a thread and resource that may be worth exploring further: