Import Data from SAP to Insider One

Prev Next

You can import user attributes and events from your SAP systems, such as customer relationship management (CRM), commerce, or enterprise resource planning (ERP) applications, into Insider One through standard import channels: the Upsert User Data application programming interface (API), File Transfer Protocol (FTP) or Secure File Transfer Protocol (SFTP) file imports, Amazon Simple Storage Service (Amazon S3), or a data warehouse that you already load from SAP.

This guide explains how to prepare SAP data for each channel, plan a one-time historical load followed by scheduled delta loads, and send journey outcomes back to SAP. Your team or integration provider builds and operates the process that extracts data from SAP, maps it, and delivers it to the selected channel.

Essentials before integration

Before you begin, make sure that:

  • You can retrieve or export the required SAP data through a method that your SAP environment supports, and your team can turn it into API payloads or export files.

  • You have mapped SAP fields to Insider One identifiers, attributes, events, and event parameters.

  • The custom attributes, events, and event parameters you plan to import exist in InOne before you configure a file or warehouse import. See Attributes and Events Page.

  • To configure FTP/SFTP or Amazon S3 source integrations, you have an Administrator or Editor with PII access role (PII stands for personally identifiable information). To generate an API key, you have an Administrator role.

Format SAP records for your channel before you send them: API payloads for the Upsert User Data API, comma-separated values (CSV) or tab-separated values (TSV) files for FTP/SFTP, and CSV or JavaScript Object Notation Lines (JSONL) files for Amazon S3.

Choose your import channel

Channel

When to use it

How it works

Guide

Upsert User Data API

Ongoing profile and event updates, such as customer attributes or orders

Your integration job maps SAP records to API payloads and sends them to Insider One.

Upsert User Data

FTP/SFTP

Scheduled file exports to a server you manage, with no cloud infrastructure required

Your job publishes CSV or TSV files, and InOne reads them on the schedule you set.

Import Data from FTP/SFTP to InOne

Amazon S3

File exports when your data pipeline already runs on Amazon Web Services (AWS)

Your job uploads CSV or JSONL files to a bucket you own, and Insider One imports each new file.

Import Data from Amazon S3

Data warehouse

SAP data that you already load into Snowflake, Google BigQuery, Databricks, or Amazon Redshift

Insider One imports the data from your warehouse on the sync schedule you set.

Alternative: import through your data warehouse

Import channel 1: Upsert User Data API

The Upsert User Data API updates the profile that matches the identifier you send, or creates a profile if none matches. Send SAP customer data as profile attributes, and send transactions, such as completed orders, as events.

Set it up

  1. Plan your user data and get the plan approved by the Insider One team. Then use the Upsert User Data API Integration Wizard to generate an API key and prepare payloads.

  2. Build a job that retrieves the required SAP records and maps them to the API payload, with user identifiers under the identifiers object.

  3. Test with a small sample, and review each API response, including any failed records.

  4. Run the job at the frequency your use case requires.

For payload parameters, limits, and error handling, see Upsert User Data.

Import channel 2: FTP/SFTP

The FTP/SFTP integration reads CSV or TSV files from your file server on a schedule and imports their data into user profiles and events.

Set it up

  1. Export the required SAP data as CSV or TSV files. Keep files under 500 megabytes (MB) for best performance; files up to 2 gigabytes (GB) are supported.

  2. Publish the files to your FTP or SFTP server.

  3. In InOne, navigate to Components > Integrations > External Integrations, select FTP/SFTP, and enter your server connection details.

  4. Configure the file settings, and map identifiers, attributes, and events.

  5. Set the import schedule, in Coordinated Universal Time (UTC), to match when your process publishes the files.

For protocols, credentials, and file requirements, see Import Data from FTP/SFTP to InOne.

Import channel 3: Amazon S3

If your data pipeline already runs on AWS, publish SAP data to an Amazon S3 bucket you own. The integration imports CSV and JSONL files with user attributes and events, including purchase data.

Set it up

  1. Export the required SAP data as CSV or JSONL files.

  2. In InOne, navigate to Components > Integrations > External Integrations and create an Amazon S3 source integration.

  3. Authorize Insider One to read from your bucket, and configure the bucket, path, and data mappings.

  4. Set up an Amazon Simple Queue Service (Amazon SQS) queue for new-file notifications.

  5. Publish your export files to the configured location.

For authorization, notification setup, and file requirements, see Import Data from Amazon S3.

Alternative: import through your data warehouse

If your SAP data already flows into a cloud data warehouse, connect that warehouse to Insider One directly. Each warehouse has its own import guide:

Load historical data and delta updates

Start with a one-time load of the history you need, then switch to scheduled delta loads that send only new or changed records.

One-time historical load

  1. Check event retention. Insider One keeps each event for its time to live (TTL), counted from the event's own timestamp, and writes an event only when its timestamp falls within the TTL. To keep older history, contact the Insider One team before the load to extend Event TTL. See Data Retention.

  2. Send each event with its original time: the event timestamp in Upsert User Data API requests, Timestamp source set to From column in FTP/SFTP, or the timestamp column you select in the Amazon S3 mapping.

  3. Keep past activity out of live journeys: set skip_hook to true in API requests, or enable Skip Hook in the FTP/SFTP Additional Settings. The first Snowflake, Google BigQuery, or Amazon S3 sync imports the existing data without triggering webhooks, campaigns, or journeys.

  4. Check a sample of loaded users on the User Profiles page before you start the delta loads.

Scheduled delta loads

Each channel handles delta loads in its own way:

  • Upsert User Data API: run your job at the frequency your use case needs.

  • FTP/SFTP: keep the Processed Files Handling setting at Skip if unchanged, so that each run skips files that have stayed the same since the last run.

  • Amazon S3: deliver each update as a new file with a unique name. A file whose name was already processed within the last 30 days is skipped.

  • Data warehouse: after the first full sync, Snowflake, Google BigQuery, and Databricks syncs import new or changed rows.

Send each event once. A resent FTP/SFTP file records its events again, and updating a row that an Amazon S3 or warehouse import already synced can create duplicate events. For file, request, and sync limits, see Data Ingestion Limits and Performance.

Use SAP data during journeys

To use a current SAP value at a journey step, such as a customer's order status, add an Architect Call an API element that requests it from an endpoint your integration exposes in front of your SAP data. You can use the response in message content, save it to the profile with the Update User Attribute element, or branch the journey with the Check API Response element. Response variables are deleted when the user leaves the journey. See Architect Channel: Fetch Data through Call an API.

Send journey outcomes back to SAP

To record journey outcomes in SAP, such as a completed journey step or an offer a customer received, send them to an endpoint that your integration exposes, and let your integration write them to SAP:

  • Call an API: at the journey step you want to record, a Call an API element sends a request with the JavaScript Object Notation (JSON) payload you define, including user attributes and event parameters.

  • Webhook (Data Stream): an Event Stream sends the events you select, such as email opens, to your endpoint, and an Attribute Stream sends changes to the user attributes you select. Both deliver JSON payloads.

For setup, see Architect Channel: Call an API and Webhook. For bulk exports, use Export Raw User Data V2.