Skip to main content

eFileCabinet App

Click here  to see our app.

An integromat app is composed of several components. The important ones are:

  • Base

    • This is the parent structure that all modules and remote procedures inherits from, if you notice that every module is using a header or requiring some other piece of information, then place it here
  • Connections

    • It is possible to create more than a single connection if a module requires something unique
    • The active connection is the one where oauth2 does it's magic
    • The current connection is setup in a way that it fetches the token and saves it inside of memory.
      • To access this token, call connection.accessToken
    • The "Common Data" section at the bottom allows us to hold parameters that we need, but wish to keep private such as the base64 encoded access string
      • This will need to be adjusted after we setup an integromat specific connection
    • Currently it is set up to renew the connection when there is less than one minute remaining
      • See: "condition": "{{if(data.accessToken, data.expires < addMinutes(now, 1), true)}}"
    • The "Parameters" tab is what indicates the user input. In this case, the user's username and password that will be used during authentication
  • Modules

    • Modules are generally set up in a way to accomplish a single task, not single calls to our api
    • The "Communication" tab is where it will make it's calls to our api, save and manipulate temporary data, and perform basic logic
      • Any logic performed must follow the IML pattern see IML functions  in the integromat documentation
    • The "Static Parameters" tab allows for user input only and is rarely used
      • To use parameters (static or mappable), simply call parameter.ParameterName
    • The "Mappable Parameters" tab allows for user input in a more fluid way. It also allows for Remote Procedures (RPC) to be called, allowing a better user experience. This is what should generally always be used
      • I've noticed that it is easier to start here during module creation as you'll probably need to use or create a RPC to use or fetch additional input
      • To use parameters (static or mappable), simply call parameter.ParameterName
  • Remote Procedures (RPC)

    • Are sub modules that can are ran while the user is selecting parameters, before the module itself is ran
    • They are used to fetch input needed to run the app's module
  • IML Functions

    • IML is a feature that allows you to write your own JavaScript functions and execute them inside IML expressions to process data
    • IML functions are disabled by default. Luckily for you, I've already contacted them to unlock it.