pipedream
pipedream copied to clipboard
Support for branching (if / then) operation
Currently, workflows are a linear sequence of steps. I'd like support to branch a workflow in a conditional manner (if condition is true, run this step, else run this other step).
One comment from Slack: "what id love to see is some kind of support of metadata in steps that's a simple condition, like: Condition: [ ] where you enter a value that gets evaluated at runtime. if true, the step executes. you then enter something like "steps.jira_ticket.assignee === 'jim'""
Hello, are there any updates for this feature ? @dylburger
@rugbbyli not yet but we’re still actively thinking about it
@dylburger, I would love to see this. This is one of my biggest pain points with pipedream.
Off the top of my head, this is my only request that would make my life so much easiest. Pipedream is a solid product but having conditional steps would be a game changer!
Would it be possible to have some sort of "goto step #X if condition is true" block? I don't know how complex that would be to implement, but it seems in line with what other steps can do.
@essential-randomness That's great feedback and yes, this would be possible with the implementation we envision for this.
no update yet? I would be great to have conditionals steps so we can perform different actions with diff integrations depending on the trigger
@giondo No update on this yet, but it's near the top of our backlog after we finish #220 (currently our #1 most-requested feature).
@dylburger +1 I'm doing multiple flows right now to handle this and it's driving me nuts. Thanks!
I'd like to keep logic of different branches of a workflow separated and clean so that it's easier to track and debug (rather than managing branching in the code itself and then having if-else statement in every subsequent block)
We would love this feature.
Even the ability to have a simple condition to skip a step.
We have some workflows that have 3 or 4 Slack steps but we aren't able to support proper testing which would require having the workflow use a test Slack account.
Currently the only way to do it is to either have two copies of the one workflow or duplicate and convert all the Slack steps into code steps and then have an if statement around each code block to only run it if the test flag is true for the test steps and false for the live steps.
I guess an alternative would be some kind of condition which determines which account to use for the auths
object.
This would mean allowing multiple Slack accounts to be connected to a single step.
I guess an alternative would be some kind of condition which determines which account to use for the auths object. This would mean allowing multiple Slack accounts to be connected to a single step.
@jonparker Great idea but from my point of view, this is indenpendent from this issue. You want the apps account props to be seen as pointers to an account. You could then change the pointer in the previous steps so that Slack account A or B is used to send a message.
When this issue will be closed, you can do a simple if condition with identical slack actions on each branch but different accounts.
For now, I recommend you to open a new issue.
Hi @LucBerge , I am no longer using Pipedream in that team. I am only using it for small personal projects.
is there any update on this feature?
very important feature!
the "Router" module in Integromat / Make is a great reference.
one way you could improve on it is by adding sequencing to the router steps so it can either complete the branches sequentially, or you could do it synchronously
Very Essential is also branching on an error from the previous step. So I can use more standards block instead of coding the error handling in each step individually in node.js or other languages. Thanks for considering.
Very much waiting for this feature to be implemented, upvoting! :)
Kinda of thinking of replacing pipedream now with my website because of this. I keep getting errors because the source was accessed via a GET request and not POST so my parsing step returns nothing to my Discord webhook step.
agree, . If I have to write code instead of releasing the power to non-engineers, I'd go with lambda or cloudflare workers, way cheaper.
I think this is an extremely important feature. And now this is also my pain point when using Pipedream. Currently I'm working on using Microsoft Power Automate. To set conditions and switch each case will send requests to each flow separately in Pipedream. However, the trade-off is a 1s delay for each trigger. It would be great if Pipedream adds this feature soon to compete with Microsoft Power Automate.
Hi Pipedream, why is branching still not there? This thread dates back to mid 2021, when you were "actively thinking about it". We need a bit more speed in feature delivery. For the other feature I am waiting for (loop over an array) https://github.com/PipedreamHQ/pipedream/issues/193#issuecomment-1303208624 it is now three years with no progress.
Hi, I also agree with the request to add "router" to the workflow. We will be happy to receive updates.
also wondering on the status of this feature
Is the alternative to use other workflows? Like, the work starts on one workflow and depending on what happens sends the information to another workflow, and so it starts to branch out. I'm gonna give that a try, but it seems difficult to visualize.
+1 following
It would also be great if the branches can be executed in parallel as well.
Is this an upcoming feature? This would be really helpful
+1 to this feature - would love to see it. While it does seem like there is some pretty incredible stuff that can be done by chaining workflows together as well, just not sure the UX is there to make this feature irrelevant.
has been more than 3 years and no update, I am moving all my pipedream workflow to cloudflare workers.