-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[SAASINT-2960] DDSaaS: Intercom: Integration v1.0.0 #18602
base: master
Are you sure you want to change the base?
[SAASINT-2960] DDSaaS: Intercom: Integration v1.0.0 #18602
Conversation
Thanks, created DOCS-9029 to review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some suggestions from Docs and approved the PR.
intercom/README.md
Outdated
## Overview | ||
[Intercom][1] is a customer communication platform that enables businesses to engage with their users through in-app messaging, email, and chat. It offers features like live chat, automated messaging, and customer support tools, making it easier for companies to provide personalized customer experiences. | ||
|
||
The Intercom integration seamlessly collects admin activities, data events, conversations, news items and tickets data and ingests them into Datadog for comprehensive analysis using webhooks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Intercom integration seamlessly collects admin activities, data events, conversations, news items and tickets data and ingests them into Datadog for comprehensive analysis using webhooks. | |
The Intercom integration seamlessly collects admin activities, data events, conversations, news items, and ticket data, and ingests them into Datadog for comprehensive analysis using webhooks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have applied the changes as per suggested.
intercom/manifest.json
Outdated
"configuration": "README.md#Setup", | ||
"support": "README.md#Support", | ||
"changelog": "CHANGELOG.md", | ||
"description": "Gain insights into Intercom Admin activities, Data Events, Conversations, News Items and Tickets data.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"description": "Gain insights into Intercom Admin activities, Data Events, Conversations, News Items and Tickets data.", | |
"description": "Gain insights into Intercom Admin activities, Data Events, Conversations, News Items, and Ticket data.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes have been applied as per your suggestion.
"created_at": "2024-09-18", | ||
"last_updated_at": "2024-09-18", | ||
"title": "Large Number of Low Rated Conversations", | ||
"description": "The monitor tracks and alerts when a large number of conversations have received low ratings.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"description": "The monitor tracks and alerts when a large number of conversations have received low ratings.", | |
"description": "This monitor tracks and alerts when a large number of conversations receive low ratings.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have applied the changes.
"id": 1695785703283444, | ||
"definition": { | ||
"type": "note", | ||
"content": "**Overview**\n\nThis dashboard provides a detailed overview of insights related to tickets, tracking total tickets, shared and archived tickets and categorizing them by type and state. Additionally, it includes insights on Tickets by Teammate Assignee ID and Tickets by Team Assignee ID.\n\nFor more information, see the [Intercom Integration Documentation](https://docs.datadoghq.com/integrations/intercom/).\n\n**Tips**\n- Use the timeframe selector in the top right of the dashboard to change the default timeframe.\n- Clone this dashboard to rearrange, modify and add widgets and visualizations.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"content": "**Overview**\n\nThis dashboard provides a detailed overview of insights related to tickets, tracking total tickets, shared and archived tickets and categorizing them by type and state. Additionally, it includes insights on Tickets by Teammate Assignee ID and Tickets by Team Assignee ID.\n\nFor more information, see the [Intercom Integration Documentation](https://docs.datadoghq.com/integrations/intercom/).\n\n**Tips**\n- Use the timeframe selector in the top right of the dashboard to change the default timeframe.\n- Clone this dashboard to rearrange, modify and add widgets and visualizations.", | |
"content": "**Overview**\n\nThis dashboard provides a detailed overview of insights related to tickets, tracking total tickets, shared tickets, and archived tickets, and categorizing them by type and state. Additionally, it includes insights on Tickets by Teammate Assignee ID and Tickets by Team Assignee ID.\n\nFor more information, see the [Intercom Integration Documentation](https://docs.datadoghq.com/integrations/intercom/).\n\n**Tips**\n- Use the timeframe selector in the upper-right corner of the dashboard to change the default timeframe.\n- Clone this dashboard to rearrange, modify, and add widgets and visualizations.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your suggestion. I have applied the changes as per suggested.
@@ -0,0 +1,1650 @@ | |||
{ | |||
"title": "Intercom Conversation", | |||
"description": "This dashboard provides a comprehensive view of conversation metrics, tracking total conversations, unique ids, and AI-driven interactions. It covers user engagement with read, unread, and priority conversations and monitors admin participation.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"description": "This dashboard provides a comprehensive view of conversation metrics, tracking total conversations, unique ids, and AI-driven interactions. It covers user engagement with read, unread, and priority conversations and monitors admin participation.", | |
"description": "This dashboard provides a comprehensive view of conversation metrics, tracking total conversations, unique ids, and AI-driven interactions. It covers user engagement with read, unread, and priority conversations, and monitors admin participation.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes have been applied.
"id": 8083967741378144, | ||
"definition": { | ||
"type": "note", | ||
"content": "**Overview**\n\nThis dashboard offers an overview of activities, highlighting patterns through frequent and infrequent activities. It includes panels for activity by type, email, and location. Trends are captured with activity logs over time, and detailed logs provide data for analysis.\n\nFor more information, see the [Intercom Integration Documentation](https://docs.datadoghq.com/integrations/intercom/).\n\n**Tips**\n- Use the timeframe selector in the top right of the dashboard to change the default timeframe.\n- Clone this dashboard to rearrange, modify and add widgets and visualizations.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"content": "**Overview**\n\nThis dashboard offers an overview of activities, highlighting patterns through frequent and infrequent activities. It includes panels for activity by type, email, and location. Trends are captured with activity logs over time, and detailed logs provide data for analysis.\n\nFor more information, see the [Intercom Integration Documentation](https://docs.datadoghq.com/integrations/intercom/).\n\n**Tips**\n- Use the timeframe selector in the top right of the dashboard to change the default timeframe.\n- Clone this dashboard to rearrange, modify and add widgets and visualizations.", | |
"content": "**Overview**\n\nThis dashboard offers an overview of activities and highlights patterns through frequent and infrequent activities. It includes panels for activity by type, email, and location. Trends are captured with activity logs over time, and detailed logs provide data for analysis.\n\nFor more information, see the [Intercom Integration Documentation](https://docs.datadoghq.com/integrations/intercom/).\n\n**Tips**\n- Use the timeframe selector in the upper-right corner of the dashboard to change the default timeframe.\n- Clone this dashboard to rearrange, modify, and add widgets and visualizations.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have implemented the recommended changes.
intercom/README.md
Outdated
|
||
### Logs | ||
|
||
The Intercom integration collects and forwards admin activities, tickets, data events, news items and conversation logs to Datadog. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Intercom integration collects and forwards admin activities, tickets, data events, news items and conversation logs to Datadog. | |
The Intercom integration collects and forwards admin activities, tickets, data events, news items, and conversation logs to Datadog. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes have been implemented as per your suggestion.
intercom/README.md
Outdated
- Sign in to your [Intercom][2] account with a user which has full access to Apps and Integrations. | ||
- Go to **Settings**. | ||
- Under the Integrations section, select **Developer Hub**. | ||
- Click on **New app** | ||
- Fill in the required details for your application, such as the name and associated workspace. | ||
- Click **Create app**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Sign in to your [Intercom][2] account with a user which has full access to Apps and Integrations. | |
- Go to **Settings**. | |
- Under the Integrations section, select **Developer Hub**. | |
- Click on **New app** | |
- Fill in the required details for your application, such as the name and associated workspace. | |
- Click **Create app**. | |
1. Sign in to your [Intercom][2] account using a user account with full access to Apps and Integrations. | |
2. Go to **Settings**. | |
3. In the Integrations section, select **Developer Hub**. | |
4. Click **New app**. | |
5. Fill in the required details for your application, such as the name and associated workspace. | |
6. Click **Create app**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your suggestion. I have applied the changes as recommended.
intercom/README.md
Outdated
- Select Required permissions | ||
- After creating the app, go to the *Authentication* section in the left-hand menu and click on the **Edit** button in the top-right corner. | ||
- By default, all permissions will be enabled, but ensure that the following permissions are specifically enabled: | ||
- Read admins | ||
- Read content data | ||
- Read conversations | ||
- Read events | ||
- Read tickets | ||
- Click **Save** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Select Required permissions | |
- After creating the app, go to the *Authentication* section in the left-hand menu and click on the **Edit** button in the top-right corner. | |
- By default, all permissions will be enabled, but ensure that the following permissions are specifically enabled: | |
- Read admins | |
- Read content data | |
- Read conversations | |
- Read events | |
- Read tickets | |
- Click **Save** | |
1. Select Required permissions | |
1. After creating the app, navigate to the *Authentication* section using the left-side menu and click **Edit** button in the upper-right corner. | |
2. By default, all permissions are enabled. However, ensure that the following specific permissions are enabled: | |
- Read admins | |
- Read content data | |
- Read conversations | |
- Read events | |
- Read tickets | |
3. Click **Save**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have applied the recommended changes.
intercom/README.md
Outdated
- Select Webhook topics | ||
- Now, go to the Webhooks section present in the left sidebar. | ||
- Enter the endpoint URL that was generated [here](#webhook-url-generation). | ||
- From the dropdown menu labeled **Select a topic**, select the below webhook topics: | ||
- admin.activity_log_event.created | ||
- content_stat.news_item | ||
- conversation.admin.closed | ||
- conversation.admin.replied | ||
- conversation.admin.single.created | ||
- conversation.admin.snoozed | ||
- conversation.admin.unsnoozed | ||
- conversation.priority.updated | ||
- conversation.rating.added | ||
- conversation.user.created | ||
- event.created | ||
- ticket.admin.assigned | ||
- ticket.attribute.updated | ||
- ticket.created | ||
- ticket.state.updated | ||
- ticket.team.assigned | ||
- Click **Save**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Select Webhook topics | |
- Now, go to the Webhooks section present in the left sidebar. | |
- Enter the endpoint URL that was generated [here](#webhook-url-generation). | |
- From the dropdown menu labeled **Select a topic**, select the below webhook topics: | |
- admin.activity_log_event.created | |
- content_stat.news_item | |
- conversation.admin.closed | |
- conversation.admin.replied | |
- conversation.admin.single.created | |
- conversation.admin.snoozed | |
- conversation.admin.unsnoozed | |
- conversation.priority.updated | |
- conversation.rating.added | |
- conversation.user.created | |
- event.created | |
- ticket.admin.assigned | |
- ticket.attribute.updated | |
- ticket.created | |
- ticket.state.updated | |
- ticket.team.assigned | |
- Click **Save**. | |
2. Select Webhook topics | |
1. Next, navigate to the **Webhooks** section using the left-side menu. | |
2. Enter the endpoint URL that was generated [here](#webhook-url-generation). | |
3. On the **Select a topic** dropdown menu, select the following webhook topics: | |
- admin.activity_log_event.created | |
- content_stat.news_item | |
- conversation.admin.closed | |
- conversation.admin.replied | |
- conversation.admin.single.created | |
- conversation.admin.snoozed | |
- conversation.admin.unsnoozed | |
- conversation.priority.updated | |
- conversation.rating.added | |
- conversation.user.created | |
- event.created | |
- ticket.admin.assigned | |
- ticket.attribute.updated | |
- ticket.created | |
- ticket.state.updated | |
- ticket.team.assigned | |
4. Click **Save**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have implemented the recommended changes.
intercom/README.md
Outdated
## Overview | ||
[Intercom][1] is a customer communication platform that enables businesses to engage with their users through in-app messaging, email, and chat. It offers features like live chat, automated messaging, and customer support tools, making it easier for companies to provide personalized customer experiences. | ||
|
||
The Intercom integration seamlessly collects admin activities, data events, conversations, news items, and ticket data, and ingests them into Datadog for comprehensive analysis using webhooks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please add a link to Asana's webhook docs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have added the link of intercom webhook docs.
intercom/README.md
Outdated
2. Go to **Settings**. | ||
3. In the Integrations section, select **Developer Hub**. | ||
4. Click **New app**. | ||
5. Fill in the required details for your application, such as the name and associated workspace. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
such as
> including
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done changes as per suggestions.
intercom/README.md
Outdated
6. Click **Create app**. | ||
- #### Configure webhook topics | ||
1. Select Required permissions | ||
1. After creating the app, navigate to the *Authentication* section using the left-side menu and click **Edit** button in the upper-right corner. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After creating the app, go to the Authentication section in the left-side menu, and click the Edit button in the top-right corner.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done changes as per suggestions.
1. Next, navigate to the **Webhooks** section using the left-side menu. | ||
2. Enter the endpoint URL that was generated [here](#webhook-url-generation). | ||
3. On the **Select a topic** dropdown menu, select the following webhook topics: | ||
- admin.activity_log_event.created |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please format these as code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done changes as per suggestions.
event, data_event | ||
conversation, conversation | ||
content_stat.news_item, news_item | ||
ticket, ticket |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please double check this lookup table, specifically ticket ticket_ticket_part
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We verified the lookup table, and there are logs which have data.item.type
as ticket_ticket_part
.
|
||
## Setup | ||
|
||
Follow the instructions below to configure this integration for your Intercom account. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow the instructions in the Configuration
section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have taken the reference from Contentful README.
204d3cd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments on the logs pipeline/tests
enabled: true | ||
sources: | ||
- network.client.ip | ||
target: network.client.geoip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a test case for this? This will affect the Geoip
group of facets, and the example you have doesn't have any data in this field.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have modified the sample response to address the test case.
`data.item.custom_attributes.copilot_used` | ||
enabled: true | ||
sources: | ||
- data.item.custom_attributes.Copilot used |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this source correct? In the test sample, I see this as data.item.custom_attributes.copilot_used
. If the source and the target are the same, does this need to be mapped at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have modified the sample response to address the test case.
What does this PR do?
This is a initial release PR of Intercom integration including all the required assets i.e. Pipeline, Dashboard and Monitors
Additional Notes
ddsource
query parameter set tointercom
.Review checklist (to be filled by reviewers)
qa/skip-qa
label if the PR doesn't need to be tested during QA.backport/<branch-name>
label to the PR and it will automatically open a backport PR once this one is merged