-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contact messages endpoint #3701
Comments
@M-Shorouk Since #2753 is blocked by this I think it makes sense to start here: I want to better understand the nature of these contact events. What type of systems generates them and can we somehow accommodate them in our concept of a conversation? Context: In a previous discussion I outlined that introducing events might mean that we would end up duplicating our entire conversational infrastructure. Therefore it seems economical to instead expand the definition of a conversation to purchase histories (or any type of customer event). What do you think? |
I think systems such Salesforce will create events that we want to add to conversations. The idea is that those events are also part of the conversation, so we can see the events inside the conversation view, but also be able to list them separately, without other messages. |
@AitorAlgorta understood. Then this is the same topic and I would still argue for treating these events as messages where the source is either If we want to exclude messages from other sources in this webhook we could add a filter to the webhook configuration. AlternativeWe treat these events as a metadata JSON blob that we attach to the contact without any opinion on the structure. This is closer to what is asked here but also makes integrating this data with conversations much harder in the future. |
how easy is to add those events to already existing conversations? doesn't look really easy. I think the second option makes more sense |
@AitorAlgorta We already have a salesforce connector that could take care of that. With events, the onus is shifted on the customer to maintain events. Merging communication data with other customer events in a single abstraction of conversations is part of our core value proposition. Therefore introducing "contact events" that somehow aren't messages seems counterproductive |
Events as messages proposalGiven the above debate these events would be consumed as regular messages from a source such as salesforce purchase histories. For the sake of the argument, we could say that they are part of a new source
This from the original requirements then becomes: As an Airy Agent I want to be able to see recent activities of the agent in other conversations. We can facilitate this by introducing a new conversation view that aggregates all the recent messages for each conversation. The API for this could look like so:
Sample request {
"filter_sources": ["salesforce_history"] // optional inclusive OR filter of sources to show
"cursors": { // optional
"conversation-id": "some cursor" // allows scrolling within the messages of a conversation
}
} Sample response {
"conversation-id-1": {
"source": "salesforce_history",
// metadata?
"data": [], // Same as for paginated message list https://airy.co/docs/core/api/endpoints/messages#list
"pagination_data": {}
},
"conversation-id-2": {} // ...
} On to #2753: Here we would then expand the webhook and allow users to add some context, one of which would be recent messages. This again could be filtered by source. This endpoint could also be used in the future to build an aggregated view of a contact conversation (working title) where one can see the conversations with an agent across all sources and conversations. This approach has the following advantages:
Drawbacks:
Please let me know what you think @AitorAlgorta and @M-Shorouk |
@chrismatix thanks for your Proposal. it is actually how we scoped this contacts.events; syncing contact.events from third-party e.g. Salesforce and rendering these event.triggers to the relative contact.conversation. |
@M-Shorouk I am not sure I understand: Does this mean the proposal works for you? |
@chrismatix Yes the proposal works 🙌🏻.. what do you think @AitorAlgorta ? |
Ingestion as messages is good and makes sense. |
"conversation“ makes sense defined as aggregation including personalized information |
the question is if we can do aggregations as well for events that don't hold a personal identifier |
Thank you, @AitorAlgorta. As far as I understand these are advanced features of both the yet-to-be-built source implementation underlying these purchases (salesforce?) and of the messaging list in general. |
Is your feature request related to a problem? Please describe.
As an Airy Agent, i need to be able to see a section on the conversation level that reflects this contact's last tracked activities. E.g: (Purchased X)
Describe the solution you'd like
See discussion below.
POST /contacts.recent-messages
Sample request
Sample response
The text was updated successfully, but these errors were encountered: