1Flow Aampe Cohort Sync Aampe Event Stream Sync Accoil (Event Stream) Adjust Airship Amazon Kinesis (Cohort) Amazon Kinesis Data Stream Amazon Kinesis Firehose Amazon RedShift Amazon S3 Amazon S3 (Cohort) Appcues Appfit AppsFlyer Appsflyer (Cohort) Apxor Azure Blob Storage Batch Bento Bento (Cohort) Bing Ads (Cohort Sync) Bing Ads (Event Stream) Blitzllama Blueshift Cohort Branch Braze (Cohort Sync) Braze (Event Stream) Candu (Cohort) Candu Event Streaming Chameleon (Cohort) Clevertap (Cohort Sync) Clevertap (Event Stream) Cohort Webhooks CommandBar (Cohort) Cordial Customer.io (Cohort Sync) Customer.io (Event Stream) Enterpret Extole Facebook Ads Fivetran Fullstory Google Ads (Cohort Sync) Google Ads (Event Stream) Google Analytics 4 (iOS/Android) Google Analytics 4 (Web) Google BigQuery Google Cloud Storage Google Pub/Sub (Cohort Sync) Google Pub/Sub (Event Stream) Google Tag Manager Hotjar HubSpot (Cohort Sync) HubSpot (Event Stream) Humanic.ai (Cohort) Humanic.ai (Event stream) Infobip Insider Intercom (Cohort Sync) Intercom (Event Stream) Iterable (Cohort Sync) Iterable (Event Stream) Kameleoon Klaviyo Kochava (Install) Kochava (Post-install) Lantern LaunchDarkly Leanplum LinkedIn Ads Liveramp (Cohort) Mailchimp (Cohort) Mailchimp (Event stream) Marketo Marketo Static List Maze Meta Pixel Moengage (Cohort Sync) MoEngage (Event Stream) Moloco Movable Ink (Event Stream) Movable Ink (Profile API) Netcore Cloud Notifly (Cohort Sync) Notivize OneSignal Optimizely Planhat Plotline (Cohort Sync) Plotline (Event Stream) Productboard Pushwoosh (Cohort Sync) Pushwoosh (Event Stream Qualtrics Refiner (Cohort) Reforge Insights Salesforce Marketing Cloud (Event Streaming) Salesforce Marketing Cloud V1 Salesforce Marketing Cloud V2 Segment SendGrid Sleekflow Snapchat Snowflake Snowflake Data Share Split Statsig (Cohort Sync) Statsig (Event Stream) Talon.One TheTradeDesk TikTok Ads TikTok Ads (Event streaming) Toplyne Twitter Ads unitQ User.com Userflow Userlist (Cohort Sync) Userlist (Event Stream) VWO Webengage Webhooks Streaming Zeda.io

Amazon Kinesis Firehose

Amplitude Data's Kinesis Data Firehose integration lets you stream your Amplitude event data straight to a Kinesis Firehose stream.

Considerations

  • You need an AWS account.
  • Amplitude sends the user_id, event_name, and created_at along with all user, group, and event properties to Firehouse streams.
  • The data Amplitude posts in Firehose is the same JSON as documented in the Amplitude Export API.
  • This destination supports Identify Forwarding. Anytime you make an Identify call to Amplitude, Amplitude forwards that user information. See Identify documentation for more information.
  • Enter the Role Name in this format: arn:aws:iam::{your aws account id}:role/{role name}

Setup

Kinesis setup

1. Create a Kinesis Data Firehose stream

Create a Kinesis Data Firehose stream in the AWS console.

2. Create an IAM role

Create an IAM role that gives Amplitude permission to write directly to your AWS Kinesis Data Firehose Stream.

  • For Account ID, specify: 358203115967. This is Amplitude's AWS account used to export events.

  • Finalize the role without assigning any policies.

  • The Trust Relationships for the new should look like this:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::358203115967:root"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

3. Create an IAM policy

  1. Create an IAM Policy to give Amplitude permission to write to your Kinesis Stream.

  2. Select the Create Policy from JSON option and use the following template policy in the Policy Document field. Be sure to change the {account-id} to your account-id, and replace {region} and {stream-name} with the applicable values. Also replace {role-name} with the role just created.

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "firehose:PutRecord",
                    "firehose:PutRecordBatch",
                    "iam:SimulatePrincipalPolicy"
                ],
                "Resource": [
                    "arn:aws:firehose:{region}:{account-id}:deliverystream/{stream-name}",
                    "arn:aws:iam::{account-id}:role/{role-name}"
                ]
            }
        ]
    }
    
  3. Assign the new policy to the role.

    1. Open the role
    2. Select the Attach Policies option, and select the new policy.

Make note of the role ARN, stream region, and stream name. You need these to set up the destination in Amplitude.

Amplitude setup

Create a Kinesis Firehose destination in Amplitude.

  1. In Amplitude Data, click Catalog and select the Destinations tab.
  2. In the Warehouse Destination section, click Kinesis Data Firehose.
  3. Enter a sync name, then click Create Sync.
  4. Click Edit, then enter your AWS region, stream name, and role name (ARN) you created during Kinesis Firehouse setup.
  5. Use the Send events filter to select the events you want to send. You can send all events, but Amplitude recommends choosing the most important ones.
  6. When finished, enable the destination and save.
Was this page helpful?

April 18th, 2024

Need help? Contact Support

Visit Amplitude.com

Have a look at the Amplitude Blog

Learn more at Amplitude Academy

© 2025 Amplitude, Inc. All rights reserved. Amplitude is a registered trademark of Amplitude, Inc.