Key Concepts
App Xchange is a powerful tool with many interdependent components. It is important to understand the function of each component and how they interact with one another.
Integrations are the most complex component of the App Xchange platform. They rely on connectors, flows, and jobs to retrieve, transform, and move data between systems. Read on to explore the specific role that each component plays.
Workspaces
A workspace is where a given integration lives, whether it is an integration product that is registered to the workspace or a custom integration that is built in the workspace. A workspace is how App Xchange tenants (or separates) data. A team can collaborate, build flows and integrations, and schedule jobs within the workspace.
Integrations
Integrations are defined containers comprised of connectors, flows, and jobs (and their constituent parts). They are configured to move data between connected products or applications.
They are how App Xchange knows what data to gather and send from each system. They can be custom-built and use shared resources from other integrations, even across multiple workspaces.
There are multiple integration types:
Standard: Automates the data flow between two or more systems that the company uses. The Standard Integration is meant to be configurable and re-usable across many different customer workspaces.
Custom: Custom integrations are specific to a single customer workspace. They are built in such a way that they cannot be used across multiple customer workspaces.
CDX Project: CDX project integrations are scoped to a construction project and can be used on multiple projects across many different customers. It automates data flow between two or more systems on a construction project. There will often be multiple companies and stakeholders involved in this CDX project integration.
Integrations are discussed in detail in the Integration Builder section.
Connectors
Connectors power an integration's ability to interact with external products, databases, or applications. In other words, they act as the intermediary between the App Xchange platform and the external product. Any external product with a connector on the platform can share data with any other connected product. A connector is NOT an integration or a flow.
Connectors support a wide range of business functions across many departments. They are configured on a per-customer basis.
You can find more information about publicly-available connectors on the Trimble Connector Directory or read more in our connectivity documentation.
Flows
Flows are the central component of an App Xchange integration. They enable the transfer of data from one connector to another and the transformation of data between connectors.
A flow can be private or shared. A private flow is only visible to the users of the workspace where it was created. A shared flow can be used by integrations that you deploy to your customers.
Flows can be simple or very complex. They are a powerful tool when trying to solve the problem of data interoperability.
Flows must have two essential components:
A trigger event: An action that occurs in the external system, which then causes a flow to run. For example, a trigger event could be creating a new change order or updating an employee's phone number. App Xchange detects the action and starts running the flow.
Steps: Operations that process once a trigger event occurs. Steps are a series of commands that execute in order and perform a specific set of functions. Steps are not linear and can follow many paths. They can even branch and loop back to previous steps.
Jobs
Jobs are the work done by a connector within an integration. Jobs comprise both services and schedules.
Services are the components of an integration that move data between external systems and App Xchange. They do this in one of two ways:
Cache writer service: Gets data from the source system and copies it into the App Xchange platform
Action processor service: Typically sends data from App Xchange to the target system
Services process the actions that are queued from a flow. Services are specific to each connector.
Cache Writer Services
App Xchange maintains a cache of stored data to avoid redundant data transfer. When a user creates, updates, or deletes external application data, that change is mirrored in the App Xchange cache. You can create a flow to trigger when there’s a cache writing event to automatically pick up these changes. By caching external application data in our platform, you can more quickly compare the data between those applications to identify any differences on which to base triggering an on-demand flow.
The App Xchange Network also further reduces data transfer redundancy by using a change detection system, which will only send new data to the cache.
Action
Action outcomes may also cache write data to ensure the cache stays in sync with data changes instead of waiting for a scheduled cache write. While this is best practice, it is the responsibility of the connector developer to program the action outcome, and it may not be in use for your cached data.
Schedules
Schedules define when and how an integration runs. They determine the sequence of services and on-demand flows that move data between App Xchange and external systems.