In this article
An Integration Component is a single, reusable piece of functionality that typically represents a way to communicate with one system and/or API, for example, Salesforce component communicates with Salesforce API.
Integration component is basically a piece of code with a component descriptor that is running on the platform inside a dedicated Docker container.
The responsibility of an individual component is to process input messages and transform them to output messages. The component may also signal error / exceptional situations that are happening during processing. The component may also produce a log output via standard output and error output.
There are two types of component functions: Triggers and Actions.
Depending on a component setup and the particular API it communicates, the same component can have both functions (trigger and action) and be used for different integration scenarios within the integration flow.
A trigger component function is the first step in each integration flow that is there to fetch the data in. Triggers do not have an incoming data, they only have an outgoing data. There are two types of the triggers: Polling and Hook.
Polling Trigger will pro-actively request (or poll) target API to fetch fresh or updated data. Polling trigger example is the Salesforce New Account that will initially fetch all existing accounts from Salesforce and then only those which were created/modified recently.
Hook Trigger will passively wait to be called with the new or updated data. WebHook or MixPanel are hook triggers. Both of them will listen for an incoming HTTP Request (WebHook) and push the data into integration flow.
An action component function represents one single data processing step inside the integration process. Actions would typically either transform or enrich data that flow through and/or call other APIs.
Actions have incoming and outgoing data so that you could combine actions after each other. One action trigger example is MailChimp Create new subscriber which creates a new subscriber in Mailchimp and returns an internal subscriber ID.