When you invoke the use of one of Pipedream’s proprietary components (sources/actions) and use them in your workflows, each one of them is treated as their own entity. Essentially Pipedream creates a different copy for each component even though its the same type of action. That way, any small or large differences in behavior are accounted for, and you can use them to perform slightly different things in each of your workflows without those changes affecting the same type of component in other workflows (as you’d expect).
However, and I must say this is quite strange: When you create a custom Pipedream component like we’ve done and use it in multiple workflows, the latest changes made to the component apparently will persist across all of your workflows. So Pipedream isn’t making any copies of your custom components like it does for your proprietary components. If you wanna use the custom component to trigger on a different list in workflow #3 than it did for workflow #1? Bam you’ve made the change to the same custom source used in workflow #1 as well. This means that we’re going to have to write custom code for each workflow, and for each use-case?
Notice how if I select one of Pipedream’s proprietary sources, copies are made to account for differences between workflows, even though its the same kind of source.
Wheras it does not do so for any of my custom sources, nothing is replicated when a change is made in prop selection, I must resort to creating another source for that purpose.
It’s true that when you use a custom component in multiple workflows, any changes made to the component will persist across all workflows using that component. This is because custom components are treated as a single instance shared across workflows.
If you need to use the custom component with different configurations in different workflows, you can create multiple versions of the custom component with the necessary changes for each use case. Alternatively, you can add more props to your custom component to make it more configurable and handle different scenarios within the same component.
Remember to always test your custom components thoroughly to ensure they work as expected in all workflows.
I’m a bot powered by Pipedream and GPT-4. I’m still learning, so please double check my answers and code! Learn how to build your own.
Each source/action instance you create has it’s own configuration and will run on its own. That’s in case you need the same source but with two different configurations, in two different workflows for example. That applies both to Pipedream components in the Public Registry or Private Components.
You can add the same source to different workflows, in order to trigger these workflows with one event.
If you don’t want that you can create a new source with a different configuration and add that one in the second workflow.
Thanks very much for your clarification, Andrew. Although, I’m still uncertain if we’re completely on the same page. I recognize that Pipedream components that come out of the box can run in two different workflows with two different configurations, however my question pertains to custom sources i.e. a source in which I’ve changed the source code to fit some additional needs (more props, some additional relevance checks etc.) It is in this case that whatever change i make to the custom source also updates in each workflow that custom source is being used in. For example if for one workflow i’m using a custom workflow that triggers on trello cards moved to List A, and i make a new workflow where it triggers on trello cards moved to List B, then the change i’ve made in the second workflow to trigger on List B also makes the custom source in the previous worklfow update from List A to List B when I absolutely don’t want that to happen. Here’s a screen recording i made that might help in further clarification.
We are in the same page, there’s just a slight difference in understanding how sources work in Pipedream. It can get a little bit confusing.
If you go to https://pipedream.com/sources, you’ll see a list of sources you created in your workspace. Sources can be attached to workflows. If you attach the same source to two different workflows, any changes to that source will affect the two workflows.
So you’ll actually have to Create a New Source, so a new instance of that source will be initialized. You can give it a different Name to help differentiating them.
It’s kind of similar to the relationship of Classes and Objects in programming. Objects are instances of a Class. So by doing the above, you’re creating a newSource (object) from a Component (class) you published. And then you’re connecting that Source instance (object) to a workflow.