The Relationship Behind Connectors and Modules
Connectors are built in the connector builder as a series of sequential instructions, or steps.
Each step requires that you use a module to drive a certain functionality. You can understand modules to be functions that provide helpful utility in relation to building a connector. These modules let you manipulate objects and strings, iterate over collections of items, perform complex calculations, and more. Each step in the connector builder is just a module performing a specific function. You must use modules to drive the functionality of the connector.
A connector, then, will end up just being a series of modules, strung together in succession. Often, you may use modules such as “HTTP - Get”, which allows you to request data from an HTTP resource, or “List - Map” which allows you to take data from a source and map it to a new output based on specific criteria. You can find out what modules are available inside the Modules Reference.
Passing Data Between The Modules
Each module has a field wherein you’re allowed to specify a unique identifier. A unique identifier is generated automatically, taking the form of a short string e.g., “RjKlX”, but you can set the id of a module to whatever unique value you like. The outputs that the module generates can be referenced in other modules by using this id.
Referencing Output Data from Modules
Inside the connector builder, we use Mustache to help handle references to data. Let’s say that we are using an HTTP - Get module, and we have specified that the id of the module is going to be “getGoogleMapsData”. This module returns a response, and inside the response there is a body object that contains data. This data can be accessed as output values that are able to be referenced by Mustache.
You would access the data contained inside the body object by using the following syntax:
”{{getGoogleMapsData.body.location}}“, where “getGoogleMapsData” is the id associated with the module, “body” is an object, and “location” is a single field/property inside this object.
Other examples:
”{{getGoogleMapsData.body.latitude}}“, “{{getGoogleMapsData.body.longitude}}”, “{{getGoogleMapsData.body}}”, etc.
You can identify the names of these fields by examining the response that is returned by the module, using the connector builder console.