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
  • 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 Joey Muething

Updated at June 18th, 2024

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.

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

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
  • Google Analytics Integration
  • Salesforce Integration
  • Slack 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