- Print
Steps to Build Your First System Integration
Prepare and build a system integration with Tulip using best practices to ensure success.
When planning an integration between Tulip and a third-party system, there are a number of and personas to plan with and preparations to settle before you can begin building.
At a minimum, planning should communicate with and involve the following stakeholders:
- Citizen Developers
- Operations Owners of Integrated Systems
- IS/IT Engineering
- Shop Floor Users Served by Solution
Together, you can begin considering and making decisions about various aspects of what this integration will involve.
- Discuss the problem being addressed.
- Establish measurable objectives.
- Align on the best solution:
- What is the right data to solve the problem?
- What is the proper System of Record based on the integration needed?
- What IT changes are needed?
Building your First System Integration
Below are high-level steps to guide you on integrating Tulip to a third-party application.
Prerequisite: 3rd Party System must have an API endpoint available (e.g. NetSuite RESTlet, Slack API)
# | Task Description | Who Can Do This? |
---|---|---|
1 | Establish usage of either the Cloud Connector Host or On-Prem Connector Host. (OPCH). | Customer (with Tulip Support if using OPCH) |
2 | Generate authentication details for Tulip to communicate with 3rd Party System. (e.g. OAuth2.0) | Customer |
3 | Choose a transaction and decide on the direction of information flow (e.g. GET Work Orders, POST inventory move). We recommend a simple transaction to start. | Customer |
4 | Expose data and endpoints for that transaction. Document HTTP endpoint and required Inputs (for Netsuite, endpoint = RESTlet with script ID and deploy ID). | Customer |
5 | Build and test a Tulip Connector. | Customer and/or Tulip (via paid Services project, w/ limited ability to test) |
6 | Incorporate transaction data into new or existing Tulip Apps with Connector Functions. | Customer and/or Tulip (via paid Services project) |
Example Data Flow
Let's say you want to get work orders from an ERP and store those orders into a designated Work Orders table.
First, you need to retrieve the work orders from the ERP. Follow the diagram below for the data flow:
Get Work Orders for today
Then, you need to write the retrieved work orders into a table. Follow the diagram below for the data flow:
Write Work Order to Tulip table
Best Practices
- Transact with a source of truth in real-time. In addition, ensure your shop floor is using the most up-to-date source.
- Store Tulip-centric data within Tulip. While a workorder’s source of truth may be your ERP, certain data is relevant mainly to Tulip, e.g. non-conformances logged in Tulip against a workorder.
- Increase operators' execution of simple ERP/WMS-centric use cases with composable, integrated Tulip apps. For example, a Tulip app using a tablet’s camera as a barcode scanner for inventory management.
- Avoid caching data from a source of truth into Tulip tables if the data quickly goes out of date. For example, a Current On-Hand inventory should live in its own datasource, allowing Tulip to interact with it in real-time.
- Separately use Tulip for suitable use cases. Any use cases that are best executed in your ERP should remain there.
- Use HTTP APIs whenever you can. SQL Connectors require additional configuration.
Further Reading
- How To Plan an Integration Between Tulip and an MES or ERP
- Introduction to Tulip Connector Hosts
- How to Configure a Connector
- HTTP Connectors