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.
π Alban Stephen (Dust) Bumping this message because I would like to have the conversationID of a conversation synced to Dust, so that it can check a conversation if its ID is given. To give you some context, we have agents sending questions on our slack channel directly from an Intercom note to which Dust answers, and we add the link to the conversation on the message sent, including the conversation ID which is in the URL. Ideally, I want Dust to draft a message based on the conversation of the conversation but at the moment it does not find the conversation. Do you think this variable could be included in the metadata? Thanks
Yanis Bacetti Dust only sync conversations that are closed on Intercom
If the conversation is solved/closed, dust will have access to it (if in your admin you give it the possibility, regarding the team assigned to the conversation) using the following url : https://app.intercom.com/a/inbox/workspaceId/inbox/conversation/conversationId
Greyg Sinigaglia de Malibran thanks π I gave Dust access to our conversations, however when an intercom link which includes the conversationID is shared to Dust it does not recognize it, I checked the data on a ticket synced with Dust and as shared by Bahadir π the conversation ID does not seem to be shared with Dust on the metadata but maybe I'm not doing it right (I can see that the conversationID is displayed at the top when I check a conversation from Dust though, so I might dig a bit more there
Yanis Bacetti Can you please:
In Intercom, pick a conversation that is closed (from last week for exemple)
Paste in Dust UI the link as explained in my previous message and see if Dust βattachβ automatically the conversation to the chat ?
Thanks Greyg, indeed it does attach it and have access with the URL provided, however I'd need to have access to open conversations as well so maybe the "direct" integration of data is not the ideal option here
Then if you want it to have access when you trigger Dust in a Slack Channel, I suggest you to build a Dust Apps that is :
Parsing the input in order to get the ID of the conversation
Using your Intercom Token -> GET Conversation (with the id)
And then parse the conversation.parts[] in order to only keep the "comment" & "note"
In this way you can plug your Dust Apps to your Dust Assistant that will GET the content of the conversation and use it for the request
Thanks Greyg, I'll have a look π
Conversations synced in a Team We synchronize only the conversations meeting all the following conditions:
were opened in the past 90 days,
are closed,
are attached to one of the a selected teams (unless you selected all conversations).
https://docs.dust.tt/docs/intercom-connection#sync-of-conversations
I love this thread β€οΈ thanks so much Greyg Sinigaglia de Malibran for jumping in. Interesting project!
I love this thread β€οΈ thanks so much Greyg Sinigaglia de Malibran for jumping in. Interesting project!