Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Contact Us
  • Home
  • Integrations
  • Integration Documents

Import customer data from your data warehouse into Appcues with our Hightouch integration

Learn how to quickly and easily import customer data into Appcues with our Hightouch integration.

Written by Sofia Domingues

Updated at June 11th, 2025

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Installation & Developers
    Installing Appcues Web Installing Appcues Mobile API & Data Troubleshooting Extras
  • Installation & Developers
    Installing Appcues Web Installing Appcues Mobile API & Data Troubleshooting Extras
  • Web Experiences
    Building Web Experiences Targeting Studio Customization & Styling Use Cases Troubleshooting FAQ
  • Mobile Experiences
    Installation & Overview Building Mobile Experiences Mobile Analytics & Integrations Troubleshooting
  • Workflows
    Building & Configuration Use Cases Workflow Analytics and Integrations
  • Account Management
    Subscription Users & Data
  • Analytics
    Experience and Event Analytics Data
  • Best Practices
    Best Practices Use Cases Pro Tips Product-led Growth
  • Integrations
    Integration Documents Use Cases Extras
+ More
  • Home

  • Installation & Developers

    • Installation & Developers

      • Web Experiences

        • Mobile Experiences

          • Workflows

            • Account Management

              • Analytics

                • Best Practices

                  • Integrations

                    What is Hightouch?

                    Hightouch is a Reverse ETL management tool. In simplest terms, companies use Hightouch to push information out of their data warehouse (a Source) into all of their other SaaS tools (Destinations). 

                    Diagram of data ingestion, data modeling / analysis, and data activation with Hightouch.

                    This integration offers Appcues as one of the Destinations in Hightouch.

                    Why import customer data into Appcues?

                    There are several ways to push your user profile and event data into Appcues to use for flow experience targeting and analytics, including:

                    • Via the Appcues SDK
                    • Using our Public API
                    • Installing Appcues via a CDP like Segment.io, Rudderstack or  Freshpaint 

                    However, the SDK and API options may require more custom development than your team is willing to take on, and you may not use a CDP. The Hightouch integration offers yet another option to ingest user and event data into Appcues. This data is crucial for making sure you can segment your Appcues flows and deliver the right message to the right people.

                    What data warehouses are included in the integration?

                    Hightouch allows you to connect Appcues to several of the most popular database products, including:

                    • Postgres
                    • MongoDB
                    • Redshift
                    • Snowflake
                    • And more!

                    For a full listing of data sources available in Hightouch, see their integrations page.

                    What types of data can be imported?

                    Currently, the Hightouch integration supports ingesting User Profile and Event data into Appcues. Group/Account profile data is coming soon; stay tuned!

                    Setting up a data sync using Hightouch

                    For a more detailed walkthru of setting up a sync between your Sources and Destinations, refer to the full Hightouch documentation here. In the example in this doc, we will be using a Postgres database to ingest User Profile data. At a high level, a Hightouch sync involves these steps:

                    DBeaver 21.1.5 - ohphpjgl Script-6 2023-08-08 at 9.14.29 PM
                    • Create a Source to connect to your data warehouse
                    • Create a Model to define the tables and columns you want to ingest from your Source
                    • Create a Destination (in this case, Appcues)
                    • Configure a Sync that maps Source fields to Destination fields, and how often the sync should occur

                    Create a Source

                    In your Hightouch account, select Sources in the left nav, then Add source. On the next screen, select your data source (in this case, PostgreSQL).

                    New source - Hightouch 2023-08-08 at 9.18.15 PM

                    On the next screen, configure your source. In this case, we're choosing to connect directly. Add your database host, port, and name. You'll then choose your sync engine (in this case, we're choosing the standard engine as it only requires a database user with read access) and add your user and password.

                    PostgreSQL Joey - Sources - Hightouch 2023-08-08 at 9.19.40 PM
                    PostgreSQL Joey - Sources - Hightouch 2023-08-08 at 9.20.50 PM

                    You can then click the Test Connection button to confirm your setup is correct.

                    Once your testing is successful, click Save and you have a new Source successfully configured.

                    Create a Model

                    In your Hightouch account, select Models in the left nav, then Add model. On the next screen, select the Source you created previously (in this case, PostgreSQL).

                    On the next screen, you'll be asked which modeling method you want to use to define the properties you will be ingesting into Appcues. In this example, since the table itself in Postgres is already tabular, with each property already modeled as its own column in the table, the Table selector modeling method should work fine. With this selection, you'll be asked to choose the table from the database you want to ingest. Clicking Preview results will show you the data you've selected.

                    Alternatively, you could also use the SQL query modeling method. In this case, select * produces the same results as the table selector modeling method in this simple table example. However, you may need to rely on the SQL query method to write a pivot query if your user profile table stores data in a key-value columns scheme. 

                    On the last model configuration screen, you'll need to give the model a name and select the primary key. In the case where you're ingesting user profile data, you'll want to make sure your key is the same user ID field that maps to your users in Appcues.

                    Select Save, and your model is complete.

                    Create a Destination

                    In your Hightouch account, select Destinations in the left nav, then Add destination. 

                    On the next screen, select Appcues as your Destination.

                    On the next screen, you'll be asked you enter your Appcues account ID and API keys.

                    To create new API keys, go to Appcues Studio and go to Account Settings.

                    Select the API Keys nav item and click Create new key.

                    In the next modal, give your new key a name and give it Admin permissions.

                    On the next screen, you'll be given your API Key and Secret. Be sure to copy and paste these values before clicking Done. The Secret will not be available again after you close this screen.

                    Enter your account ID and API key information in Hightouch, select Save, and your Destination is complete.

                     

                    Configure a Sync

                    In your Hightouch account, select Syncs in the left nav, then Add sync. 

                    On the next screen, select the Model you created previously.

                    Next, select the Appcues Destination you created previously.

                    On the next configuration screen, select Object and Users.

                    On the next screen, you'll map the user properties from your Model to the user properties in Appcues. First, make sure the userId from your Model matches the User ID property in Appcues.

                    Below that section, you'll map all other properties from the Model that you want to sync to Appcues. If these properties already exist in Appcues, make sure the name matches exactly. Otherwise, new properties will be created in Appcues.

                    On the last screen, you'll choose how and how often the sync occurs. In this example, we've chosen every hour. Meaning, every hour Hightouch will query the Postgres table defined in the Model. If any changes are detected since the last sync, the changes will be imported into Appcues.

                    Click Finish. On the Sync Status page, you can manually run your first sync and see the results. As you can see in the screenshots below, all 40 of the users in my Postgres database were successfully imported into Appcues.

                    The Sync is now completed, and in this case, it will run every hour.

                    Verify synced data in Appcues

                    Inside Appcues, you can immediately inspect these imported users' profiles and see the imported properties.

                    Properties Users Appcues 2023-08-08 at 9.38.05 PM

                    All imported profile data is immediately available for targeting and segmentation.

                    Was this article helpful?

                    Yes
                    No
                    Give feedback about this article

                    Related Articles

                    • Use Appcues and Zapier
                    • Segment Integration
                    • Google Analytics Integration
                    • Amplitude Integration
                    • Mixpanel Integration
                    DON'T TAKE OUR WORD FOR IT

                    Start building with Appcues for free

                    Try before you buy
                    No credit card required
                    Support included
                    Start building for freeBook a demo
                    or take an interactive tour
                    Appcues logo

                    Product

                    In-app messaging
                    Email
                    Push notifications
                    Workflows
                    Data
                    How it works
                    Pricing
                    What's new

                    Use cases

                    Onboarding
                    Free-trial conversion
                    Feature adoption
                    Feedback
                    Support

                    Integrations

                    Why connect
                    All integrations
                    All workflows

                    Company

                    About
                    Careers
                    HIRING
                    Why Appcues
                    Teams
                    Customers

                    Support

                    Request a demo
                    Start free trial
                    Developer Docs
                    Help Center
                    Customer Success
                    Contact

                    Resources

                    Product Adoption Academy
                    Courses
                    Workshops
                    Templates
                    Examples
                    Made with Appcues
                    The Appcues Blog
                    PLG Collective
                    Product-led Experience Report
                    The Product Experience Playbook
                    The Product-Led Growth Flywheel
                    © 2025 Appcues. All rights reserved.
                    SecurityTerms of ServiceWebsite Terms of UsePrivacy PolicyCookie Preferences
                    Expand