---
title: "Integrate Tulip with SAP"
slug: "integrate-tulip-with-sap"
updated: 2026-04-10T19:29:03Z
published: 2026-04-10T19:29:03Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.tulip.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrate Tulip with SAP

*Learn how to use Connectors to integrate Tulip with SAP.*

Many Tulip customers use an ERP offering from SAP. This article will explain how to securely connect Tulip to variations of SAP ERP.

## Overview of SAP ERP variations

SAP has a variety of ERP offerings, summarized in the table below:

| Product Name | Target Market | Status | Integration TL;DR |
| --- | --- | --- | --- |
| SAP ECC | Large Enterprise | Legacy / Replaced by S/4 HANA | Tulip can integrate with SAP ECC with an HTTP Connector, but requires an intermediary middleware or integration layer (e.g. an iPaaS) since ECC doesn't expose native REST APIs. |
| [SAP S/4 HANA](https://www.sap.com/products/erp/s4hana.html) | Large Enterprise | Current offering. Recently rebranded to 'SAP Cloud ERP' | Tulip can integrate with SAP S/4 HANA with an HTTP Connector. Customers can optionally use an iPaaS between Tulip and SAP S/4 HANA. |
| [SAP Business One](https://www.sap.com/products/erp/business-one.html) | Small/Medium Businesses | Current offering. | Tulip can integrate with SAP Business One with an HTTP Connector. Customers can optionally use an iPaaS between Tulip and SAP Business One. |

### SAP ECC integration

Tulip can integrate with SAP ECC through HTTP Connectors, but requires an intermediary middleware or integration layer since ECC doesn't expose native REST APIs. Common integration approaches include using SAP-branded middleware (SAP CPI, SAP PI/PO, SAP BTP) or third-party integration platforms (e.g. MuleSoft, Boomi) that can digest SAP ECC's native protocols (RFCs, BAPIs, IDocs) and expose them as HTTP/REST APIs for Tulip to consume.

Scope of article content

The remainder of this article assumes the ERP is ready to support integration via HTTP Connector Functions, i.e. REST APIs are natively supported (e.g. S/4 HANA, Business One) or enabled with REST APIs (e.g. SAP ECC with an intermediary middleware or iPaaS).

Before using this guide, review the [overview of HTTP connectors](https://support.tulip.co/docs/an-overview-of-http-connectors) in Tulip.

## Tulip Library assets for SAP S/4 HANA

- [SAP S/4 HANA Cloud Connector](https://library.tulip.co/connectors/sap-s-4-hana-cloud-connector) - Pre-built HTTP Connector for SAP S/4 HANA with template Connector Functions for common REST APIs.
- [SAP S/4 HANA Cloud Unit Test](https://library.tulip.co/apps/sap-s-4-hana-cloud-unit-test) - Testing application demonstrating integration capabilities and interactive data tables for SAP S/4 HANA connectivity validation.

## Integrate Tulip with SAP

This guide will cover the following sequence:

1. Making an HTTP GET request to an endpoint using username/password as authentication
2. Receiving the response and storing it in the function's "Output"
3. Accessing that output in the Trigger Editor and storing it in a variable.
4. Using those variables in a different Connector function in order to prove the user's identity.

## Make the GET request to SAP

First, [create an HTTP Connector](https://support.tulip.co/docs/connectors#create-a-connector) and specify details using **Add Connection**.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_127745157.png)

Then, choose **Add New Function**.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_127745335.png)

Specify the route and type of request. Many SAP instances have a "/csrf" route that allows you to request a CSRF token.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_156361353.png)

Then, enter all details about the request. Use the **Auth** tab if you need to include a username and password or an OAuth2 bearer token.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_156361538.png)

## Storing headers and cookies

Then, specify a few outputs to store the headers and cookies. Examples here:

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_156361745.png)

- csrf_token (string)
- cookie1 (string)
- cookie2 (string)

In the **Outputs** section, map the token value to the *csrf_token* output. SAP frequently uses *x-csrf-token* as the key for this value. You can do this manually, or by clicking on the output in the **Cookies** section after testing the HTTP function.

Additionally, specify the exact name of the cookies from the response in the **Outputs** section.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_156362351.png)

Now, you are ready to create Triggers to store these values within apps.

## Using cookies and headers in app logic

Here's how to test this function. In the App Editor, create a button called "Get Token and Cookie".

Add a button trigger and then use the "Run Connector Function" action with the connector and connector function that you created in the previous step.

Store the result in a variable (in this case, *op*) which will automatically become an Object.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_127750701.png)

Then, add some Variable text to your app and display the fields and values within the *op* variable.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20To%20Integrate%20Tulip%20with%20SAP_127751007.png)

Then, run the app in the Tulip Player. After pressing the button, you'll see that an object with the token and 2 cookies has been stored in the *op* variable.

Now, you can use those values in any app logic or Connector Function via the Trigger Editor.

## Further Reading

- [Architecture basics for integrating Tulip to a transactional business system](/r230/docs/architecture-basics-for-integrating-tulip-to-a-transactional-business-system)
- [How to Call a Connector Function using Triggers](https://support.tulip.co/docs/how-to-call-a-connector-function-using-triggers)

---

Did you find what you were looking for?

You can also head to [community.tulip.co](https://community.tulip.co/?utm_source=intercom&amp;utm_medium=article-link&amp;utm_campaign=all) to post your question or see if others have solved a similar topic!

**Connectors**

**Connectors** enable real-time connectivity between your Tulip solution and a transactional system (e.g. an ERP). The output of a Connector Function can be used in Tulip Apps, Automations, and Functions.

- **HTTP Connectors** utilize HTTP API endpoints.
- **SQL Connectors** can enable connectivity with certain SQL databases.
- **MQTT Connectors** can connect to MQTT brokers for machine monitoring.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/connector.gif)

**Integration Platform as a Service (iPaaS)**

**iPaaS** is a suite of cloud-based services that connects and integrates disparate applications, data, and processes, regardless of whether they are on-premises or in the cloud.

**Trigger**

**Triggers** are groups of logic that are tied to an app event, such as step open, timer, widget interaction, etc. App builders can add triggers to **widgets**, **machines**, **devices**, **apps**, and **steps**.

**Triggers** can contain **actions**, **transitions**, and **conditions**.

**App Editor**

The web interface used for building applications. Where you design a user interface, add logic, and connect your applications to **Tables**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-09-13%20at%207.50.23%20AM.png)

**Object**

**Objects**are a Tulip Datatype. Objects represent an arbitrary grouping of attributes. Leveraging objects can simplify the process of working with complex data architectures. Often **Connector** **Functions** will return **Arrays** of **Objects**

*ex. My car object has 5 attributes, Color, Make, Model, # of wheels, # of seats.*

**Variable**

**Variables**are a location to store app information. Variables have a specific type that must match the contents they can store.

Variables are only accessible within a single application and are cleared when the app is restarted or completed.

**Tulip Player**

**Tulip Player** is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser and allows increased IT controls.

**Connector Function**

**Connector Functions** are individual operations to interact with an HTTP or SQL Datasources. Connector Functions can have inputs and outputs, and can be called from: Triggers, Functions, Automations, and AI Agents.

Once pulled, data can be used throughout your applications.
