Hey Dust team 👋 Is there any way to include metadata of conversations in the conversations fetched from Intercom? I want to see the CompanyID and Plan of the users who are in the conversation.
Remi I am new in the community and I already love the helpful vibe here! I don't want to spam the channel by bumping my request. What's the best way to get help on this? I want to prove a use case internally before our trial runs out.
Thanks Bahadir Efeoglu 🙏 I shared your question internally with the team. Alban hasn't had a chance to look into it yet. He will shortly.
Thank you guys 🙏
Hello, what do you mean by CompanyID and Plan ?
These are the attributes of a company and conversation in Intercom. That's how we identify who we are talking to. https://developers.intercom.com/docs/references/rest-api/api.intercom.io/data-attributes/createdataattribute https://www.intercom.com/help/en/articles/179-create-and-track-custom-data-attributes-cdas
Alban Did you get a chance to check? I want to introduce Dust to our team this week if I can find a way to make this work.
Hi hi, checking1
This seems to be what we are currently syncing:
export type IntercomConversationType = {
type: "conversation";
id: string;
created_at: number;
updated_at: number;
title: string | null;
admin_assignee_id: number | null;
team_assignee_id: number | null; // it says string in the API doc but it's actually a number
open: boolean;
tags: {
type: "tag.list";
tags: IntercomTagType[];
};
custom_attributes: {
[key: string]: unknown; // string | number | boolean | custom intercom object
};
source: {
type: string;
id: number;
delivered_as: string;
subject: string;
body: string;
author: IntercomAuthor;
};
};
What you showed me are custom attributes?
Looking at this, I'd actually expect it to be synced with
custom_attributes: { [key: string]: unknown; // string | number | boolean | custom intercom object };
Company ID is a default attribute, not custom
Then yes we should have them
This is the content of the conversation that we store:
markdown += `# ${convoTitle}\n\n`;
markdown += `**TAGS: ${tagsAsString ?? "no tags"}**\n`;
markdown += `**SOURCE: ${source || "unknown"}**\n`;
markdown += `**CUSTOM ATTRIBUTES: ${JSON.stringify(customAttributes)}**\n\n`;
markdown += `**[Message] ${firstMessageAuthor.name} (${firstMessageAuthor.type})**\n`;
markdown += `${firstMessageContent}\n\n`;
I guess I understand why we are not seeing what I showed in the screenshot. I checked the raw file synced to Dust and it shows:
**CUSTOM ATTRIBUTES: {"Auto-translated":false,"Copilot used":false,"Language":"English","AI Tone of Voice":"Neutral","AI Answer Length":"Concise","AI Pronoun Formality":"Let Fin decide","Fin AI Agent resolution state":"Assumed Resolution","Type":"Onboarding assistance","Review asked?":false,"Any help article ideas from this conversation? Write "No" if nothing applicable.":"-"}**
So it actually syncs the custom attributes of the conversation correctly. However, the company related information is not stored on conversations in Intercom. They are stored on the company which is associated with the conversation.
In order to get those, we should also fetch the linked company records. only then we can get Company ID, Plan and other custom attributes linked to the company
Ok, we'll have to take a look then! Adding Stephen (Dust) to the conversation that will take a look at it 🙂
This will require some work on our side
Yeah, I can imagine. However, the upside is very valuable because conversations without contact details is too isolated to work on
I appreciate your help
Thanks for the feedback!\
We cancelled our subscription for now since we couldn't get the what we wanted but happy to be back when you have an update.