Platform

AI

AI Agents
Sense, decide, and act faster than ever before
AI Visibility
See how your brand shows up in AI search
AI Feedback
Distill what your customers say they want
Amplitude MCP
Insights from the comfort of your favorite AI tool

Insights

Product Analytics
Understand the full user journey
Marketing Analytics
Get the metrics you need with one line of code
Session Replay
Visualize sessions based on events in your product
Heatmaps
Visualize clicks, scrolls, and engagement

Action

Guides and Surveys
Guide your users and collect feedback
Feature Experimentation
Innovate with personalized product experiences
Web Experimentation
Drive conversion with A/B testing powered by data
Feature Management
Build fast, target easily, and learn as you ship
Activation
Unite data across teams

Data

Warehouse-native Amplitude
Unlock insights from your data warehouse
Data Governance
Complete data you can trust
Security & Privacy
Keep your data secure and compliant
Integrations
Connect Amplitude to hundreds of partners
Solutions
Solutions that drive business results
Deliver customer value and drive business outcomes
Amplitude Solutions →

Industry

Financial Services
Personalize the banking experience
B2B
Maximize product adoption
Media
Identify impactful content
Healthcare
Simplify the digital healthcare experience
Ecommerce
Optimize for transactions

Use Case

Acquisition
Get users hooked from day one
Retention
Understand your customers like no one else
Monetization
Turn behavior into business

Team

Product
Fuel faster growth
Data
Make trusted data accessible
Engineering
Ship faster, learn more
Marketing
Build customers for life
Executive
Power decisions, shape the future

Size

Startups
Free analytics tools for startups
Enterprise
Advanced analytics for scaling businesses
Resources

Learn

Blog
Thought leadership from industry experts
Resource Library
Expertise to guide your growth
Compare
See how we stack up against the competition
Glossary
Learn about analytics, product, and technical terms
Explore Hub
Detailed guides on product and web analytics

Connect

Community
Connect with peers in product analytics
Events
Register for live or virtual events
Customers
Discover why customers love Amplitude
Partners
Accelerate business value through our ecosystem

Support & Services

Customer Help Center
All support resources in one place: policies, customer portal, and request forms
Developer Hub
Integrate and instrument Amplitude
Academy & Training
Become an Amplitude pro
Professional Services
Drive business success with expert guidance and support
Product Updates
See what's new from Amplitude

Tools

Benchmarks
Understand how your product compares
Templates
Kickstart your analysis with custom dashboard templates
Tracking Guides
Learn how to track events and metrics with Amplitude
Maturity Model
Learn more about our digital experience maturity model
Pricing
LoginContact salesGet started

AI

AI AgentsAI VisibilityAI FeedbackAmplitude MCP

Insights

Product AnalyticsMarketing AnalyticsSession ReplayHeatmaps

Action

Guides and SurveysFeature ExperimentationWeb ExperimentationFeature ManagementActivation

Data

Warehouse-native AmplitudeData GovernanceSecurity & PrivacyIntegrations
Amplitude Solutions →

Industry

Financial ServicesB2BMediaHealthcareEcommerce

Use Case

AcquisitionRetentionMonetization

Team

ProductDataEngineeringMarketingExecutive

Size

StartupsEnterprise

Learn

BlogResource LibraryCompareGlossaryExplore Hub

Connect

CommunityEventsCustomersPartners

Support & Services

Customer Help CenterDeveloper HubAcademy & TrainingProfessional ServicesProduct Updates

Tools

BenchmarksTemplatesTracking GuidesMaturity Model
LoginSign Up

Slack + Amplitude: Making it easier for teams to share and discuss user insights

We’re very excited to share the Amplitude Slack app with our users, and as we continue to build out more features for Amplitude 2.0, we plan to incorporate many of them into our Slack integration.
Product

Dec 20, 2016

11 min read

Daniel Jih

Daniel Jih

Software Engineer II, Amplitude

Slack + Amplitude: Making it easier for teams to share and discuss user insights

Why & how we built a Slack app for Amplitude

If your team is anything like ours, you’re in Slack…a lot. At Amplitude, almost all internal communication happens in Slack, and it’s even our preferred method for talking to some of our customers. Which is why when we were thinking about how to help teams share and discuss insights from user data, Slack was the first thing that popped into our minds. In fact, lots of our customers told us that they were taking screenshots of Amplitude graphs and pasting them into Slack for further discussion — not exactly an ideal workflow.

A couple months ago, we announced the beta of Amplitude 2.0, and we officially launched 2.0 to all of our users last week. Our mission as a company is to help businesses understand their users so that they can build better products. And the driving force behind Amplitude 2.0 was to make analytics approachable to anyone, regardless of analytics experience, so that everyone on a team can access, explore, and learn from their user behavior data. When it comes to helping teams build better products, a big part of that is figuring out how we can help them communicate more effectively and efficiently about data, so that they can make better and faster decisions. That’s why, in addition to a visual overhaul, improved chart usability, and better collaboration features, we added a Slack integration in 2.0. In this post, I’ll go over some of the decisions we made as we developed the integration, as well as show off some of the ways we’ve been able to take advantage of Slack’s APIs to make a really useful integration for our customers.

Why a Slack app?

One of the things that Slack does very well is that it unfurls links that are shared in messages. Slackbot will crawl the shared page and fetch metadata to generate a nice preview for the link. There is a slight hitch, however, when you try to share an Amplitude url in Slack. Because all of our dashboards, charts and tabs require authentication, the Slackbot is unable to fetch any useful metadata, resulting in this rather useless preview: Our solution was to build an Amplitude Slack integration, where users can connect their Slack team and grant permissions to Amplitude. The integration provides an Amplitude bot, which can then be invited into channels and group messages in Slack. When the bot detects that an Amplitude 2.0 link has been shared by a connected user, it can verify that user’s credentials in Amplitude, and post back metadata to generate a proper preview. The Slack integration aligns very closely with our central theme of improving accessibility to analytics and providing better tools to help users gain insights from their data.

slack-1
slack-2

Connecting Amplitude to Slack

Connecting Amplitude to Slack is very easy. After logging into Amplitude 2.0, just open the settings drop down in the top right corner and click “Connect to Slack”. After you click “Connect to Slack”, you will be prompted to install the Amplitude Slack integration and authorize the Amplitude bot. All users that want their links to be unfurled by the Amplitude bot must perform this step. This process initiates Add-to-Slack OAuth flow, which allows us to link your Slack credentials to your Amplitude account. Slack will first verify that you have permission to install the Amplitude app to your Slack Team, and then redirect you to Amplitude’s Slack-OAuth endpoint to complete the flow. One of the post parameters in the redirect will be a code, which we can use to fetch your Slack user_id, team_id, and an access_token from Slack. Since you are already logged into Amplitude, we can then link your Slack credentials to your Amplitude account. This mapping from Slack user_id to Amplitude user_id is very important since shared links detected by the Amplitude bot will only provide the Slack user_id. We need to look up the corresponding Amplitude user and verify that they have read permissions and org access for the shared link before posting all of the metadata. After connecting and installing the Amplitude integration, you can simply do /invite @amplitude to invite the bot into any of your team channels to have it start unfurling your Amplitude links. You can also invite it to group messages, and you can even send direct messages to the bot as well.

slack-4

How it works

Now that the Amplitude bot is integrated and invited to team channels and chats, it will begin to listen for messages containing Amplitude links. Slack’s Events API allows the Amplitude bot to subscribe to messages sent in channels and chats that it is invited to, and our bot endpoint will receive a notification for every message. Each notification contains the Slack user id, team id, channel id, the message text, and a challenge token. As a requirement, our bot endpoint must reply to the notification with the challenge token as the body within 3 seconds. The bot receives notifications for all messages, including messages that do not contain Amplitude links, and so the first step when processing the notifications is to filter out all messages that do not contain an Amplitude link, as well as messages sent by users that have not yet connected their Slack account to Amplitude. Next we look up the Amplitude user from the Slack user_id, determine the link type using regex expressions, and verify that the user has read access to that specific chart, dashboard, or cohort. Lastly, we load the metadata for the dashboard, cohort, or chart, and formulate a Slack message JSON blob to post back into the channel as the Amplitude bot, using Slack’s Message API. The Message API offers a lot of control over the message display format, allowing us to neatly display the metadata. If the shared link is a chart object, we will also render a PNG preview (using the same “Export as PNG” logic available in Amplitude), and upload it as file. Uploading straight to Slack is a great option since the file is hosted by Slack, and Slack automatically obfuscates the URLs as a security measure. Clicking on the image preview will then expand it in the Slack client: Depending on what kind of Amplitude 2.0 link is shared, different previews and message buttons will appear. For shared cohort links the bot will provide useful information such as the current user count and when that count was last updated. For shared chart links, the bot will show the creator of the chart, the project it belongs to, the date range of the data, as well as an actual image preview.

slack-5
slack-6
slack-7

Using Slack’s message buttons for Dashboard functions

You may have noticed that the chart previews all have an “Add to Dashboard” button. One of Amplitude 2.0’s major improvements is a new data model that allows users to more easily create, duplicate, share, and discover dashboards and charts. For example, users can create a dashboard with charts tracking each of their team’s core KPIs. When they share the dashboard with their team, other members can pin it to their sidebar in Amplitude for easy access. The Amplitude Slack integration helps to expose these actions via message buttons in the previews. Those users can now pin the shared dashboard to their Amplitude sidebar directly from Slack by clicking on the message button. The message buttons are a cool feature of Slack’s Message API. You can add the buttons as actions in your message attachment. For each button you can specify the display text, a name, a value, and a callback id. Similar to the Events API, when a user clicks on one of these Amplitude message buttons, we will receive a notification at our interaction endpoint. The notification will again contain the Slack user id, team id, channel id, as well as the callback id, action name, and action value. From the callback id and action name, we can determine which behavior the user wants to trigger. The action value is also useful for passing some state information. For example we JSON encode some metadata such as the chart id and dashboard id in the action value. Our interaction endpoint then decodes the metadata and uses it to execute the action behavior. After performing the action, our interaction endpoint will then respond directly to the notification with an ephemeral message to indicate success or failure or to provide more interactions. For example after we successfully pin a dashboard to a user’s sidebar, we post back this message: For shared chart links, the available action is “Add to Dashboard”. When a user clicks on that we also need to determine which dashboard they want to add the chart to, and so we will post back a message containing up to 5 of their most recent dashboards as additional buttons (Slack currently only allows up to 5 buttons per message). Clicking on one of the dashboard names completes the chart interaction flow. It’s important to note that our response messages are all ephemeral, meaning they are only visible to the user that invokes the action. That way each user can interact independently with the shared links. User A won’t see User B’s dashboards when User B clicks on “Add to Dashboard” and so on. The interaction API also allows you to post messages visible to everyone, or even directly update the original message (the one with the message button), which might be useful if you want to notify the team or coordinate interactions between users.

slack-8
slack-9
slack-10

We’re very excited to share the Amplitude Slack app with our users, and as we continue to build out more features for Amplitude 2.0, we plan to incorporate many of them into our Slack integration. Potentially we could see things like notifications and reports coming to our Slack app. (If you need help at any point with the integration you can also send our bot a direct message that says “help”, and our bot will reply with instructions for setting up and using the integration. You can also check out the full documentation here) None of this would be possible without Slack’s APIs, which are flexible and yet sophisticated enough to allow us to implement the interactions exactly as we have envisioned them. I also just want to thank Slack’s Platform team for all the help and support they’ve provided us while building the integration!

Comments

Mehdi Mehni: I followed your Slack integration guide, but when I paste the url for my amplitude chart on slack, nothing happens.

About the author
Daniel Jih

Daniel Jih

Software Engineer II, Amplitude

More from Daniel

Daniel is on Amplitude's back-end engineering team, where he manages Amplitude's client SDKs and works on ingestion processes. He graduated from Stanford University with a Masters in computer science.

More from Daniel
Topics
Platform
  • Product Analytics
  • Feature Experimentation
  • Feature Management
  • Web Analytics
  • Web Experimentation
  • Session Replay
  • Activation
  • Guides and Surveys
  • AI Agents
  • AI Visibility
  • AI Feedback
  • Amplitude MCP
Compare us
  • Adobe
  • Google Analytics
  • Mixpanel
  • Heap
  • Optimizely
  • Fullstory
  • Pendo
Resources
  • Resource Library
  • Blog
  • Product Updates
  • Amp Champs
  • Amplitude Academy
  • Events
  • Glossary
Partners & Support
  • Contact Us
  • Customer Help Center
  • Community
  • Developer Docs
  • Find a Partner
  • Become an affiliate
Company
  • About Us
  • Careers
  • Press & News
  • Investor Relations
  • Diversity, Equity & Inclusion
Terms of ServicePrivacy NoticeAcceptable Use PolicyLegal
EnglishJapanese (日本語)Korean (한국어)Español (Spain)Português (Brasil)Português (Portugal)FrançaisDeutsch
© 2025 Amplitude, Inc. All rights reserved. Amplitude is a registered trademark of Amplitude, Inc.
Blog
InsightsProductCompanyCustomers
Topics

101

AI

APJ

Acquisition

Adobe Analytics

Amplify

Amplitude Academy

Amplitude Activation

Amplitude Analytics

Amplitude Audiences

Amplitude Community

Amplitude Feature Experimentation

Amplitude Guides and Surveys

Amplitude Heatmaps

Amplitude Made Easy

Amplitude Session Replay

Amplitude Web Experimentation

Amplitude on Amplitude

Analytics

B2B SaaS

Behavioral Analytics

Benchmarks

Churn Analysis

Cohort Analysis

Collaboration

Consolidation

Conversion

Customer Experience

Customer Lifetime Value

DEI

Data

Data Governance

Data Management

Data Tables

Digital Experience Maturity

Digital Native

Digital Transformer

EMEA

Ecommerce

Employee Resource Group

Engagement

Event Tracking

Experimentation

Feature Adoption

Financial Services

Funnel Analysis

Getting Started

Google Analytics

Growth

Healthcare

How I Amplitude

Implementation

Integration

LATAM

Life at Amplitude

MCP

Machine Learning

Marketing Analytics

Media and Entertainment

Metrics

Modern Data Series

Monetization

Next Gen Builders

North Star Metric

Partnerships

Personalization

Pioneer Awards

Privacy

Product 50

Product Analytics

Product Design

Product Management

Product Releases

Product Strategy

Product-Led Growth

Recap

Retention

Startup

Tech Stack

The Ampys

Warehouse-native Amplitude

Recommended Reading

article card image
Read 
Product
Getting Started: Product Analytics Isn’t Just for Analysts

Dec 5, 2025

5 min read

article card image
Read 
Insights
Vibe Check Part 3: When Vibe Marketing Goes Off the Rails

Dec 4, 2025

8 min read

article card image
Read 
Customers
How CAFU Tripled Engagement and Boosted Conversions 20%+

Dec 4, 2025

8 min read

article card image
Read 
Customers
The Future is Data-Driven: Introducing the Winners of the Ampy Awards 2025

Dec 2, 2025

6 min read

Explore Related Content

Integration
Using Behavioral Analytics for Growth with the Amplitude App on HubSpot

Jun 17, 2024

10 min read

Personalization
Identity Resolution: The Secret to a 360-Degree Customer View

Feb 16, 2024

10 min read

Product
Inside Warehouse-native Amplitude: A Technical Deep Dive

Jun 27, 2023

15 min read

Guide
5 Proven Strategies to Boost Customer Engagement

Jul 12, 2023

Video
Designing High-Impact Experiments

May 13, 2024

Startup
9 Direct-to-consumer Marketing Tactics to Accelerate Ecommerce Growth

Feb 20, 2024

10 min read

Growth
Leveraging Analytics to Achieve Product-Market Fit

Jul 20, 2023

10 min read

Product
iFood Serves Up 54% More Checkouts with Error Message Makeover

Oct 7, 2024

9 min read