Dynamic resources and methods

Hi,

This is Miquel from uProc.io, a platform the provides more than 400 tools to clean, verify, enrich and send any data.

We have been checking some sample integrations (like Clearbit) and we saw that all resources and actions are usually integrated in an static way.

We are interested to know if it is posible to load existing tools in a dinamyc way without modifying integration (our catalog is always growing).

Sample integration:

  1. When adding uProc node, an external json will be loaded with all capabilities
  2. Available resources and methods will be generated dinamically depending on previous loaded json.

Is this possible in a n8n integration?

Thanks!

Hey @Miquel_Colomer welcome to the community.

Not sure if I understood well. Checked the API and it’s seems there are just 4 endpoints? Loading.... Not sure what do you mean with load existing tools in a dynamic way? are you taking about the parameters you send to the endpoints?

Yes. Probably a sample would be useful.

Basically, our main goal is to provide a behaviour similar to this integration in Zapier but on N8N.
I provide a video (where Group and Tool selectors appear, generated by API call): UProc - Zapier integration - YouTube

The main problem is that we build useful tools every day. These tools are persisted in a JSON present in our platform and we want to avoid updating node for N8N everytime we have a new tool (this is too limiting for us).

Scenario would be next:

  1. When somebody loads UProc node, we load an external JSON with all config that allows to know:
  • Available Groups.
  • Available Tools in every Group.
  1. User selects Group and Tool
  2. User configs dynamic parameters (every tool has its own parameters).

We have build a mini version in a N8N compatible node, and selectors appear this way:
n8n-node-uproc

Could you confirm me if this approach could be realistic on N8N?

Thanks!

It is possible to load the options of a parameter dynamically with loadOptions

One example of that is, for example, the AWS Lambda-Node where it loads the different functions via an API:

What is however sadly not possible, is to create different parameters. The parameters are currently fixed, only the values can be loaded dynamically.

Thanks Jan.

And, what if we import two local json’s with all required data to create groups, tools and parameters when loading integration in workflow.

And every time a new uProc integration is added to workflow, check if local jsons are older than n days, download new ones and config all options.

Our main doubt if integration code is reloaded every time a new integration is added to workflow.

Could you clarify?