Code Monkey home page Code Monkey logo

Comments (44)

ThinkFar avatar ThinkFar commented on May 13, 2024 8

@dylburger, I would love to see this.
This is one of my biggest pain points with pipedream.

from pipedream.

bacherjo avatar bacherjo commented on May 13, 2024 8

all the posted suggestiosn for branching via code steps are valid and OK, but I think what is missing big time is "conditional step execution". I would most love to have this as generic option in any http request step. It could be "true" by default, so nothing changes for existing flows.
And then just have a condition to define (using properties of previous steps) and based on truo or false execute the step or skip it.

My practrical use case: I receive an order and then have to check if the customer record already exists.
If not, create customer, then create order.
If yes, just create the order for existing customer.
This would be so simple with a "conditional execution" option.

Since we do not have it, I had to build a "router" workflow, which searches for the customer and then conditionally branches (via codestep) to two other workflows, one with customer and order creation, one with just order creation.
So for this simple requirement i end up having three workflows, and a tedious coding step.

from pipedream.

dylburger avatar dylburger commented on May 13, 2024 6

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'""

from pipedream.

bacherjo avatar bacherjo commented on May 13, 2024 6

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.

from pipedream.

kpetrillo avatar kpetrillo commented on May 13, 2024 5

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!

from pipedream.

modernmusician avatar modernmusician commented on May 13, 2024 3

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

from pipedream.

b2storefront avatar b2storefront commented on May 13, 2024 3

Very much waiting for this feature to be implemented, upvoting! :)

from pipedream.

yangcheng avatar yangcheng commented on May 13, 2024 3

No, but I just ask gpt to write code for me. So no need for functional UI anymore.

from pipedream.

HardIsEasy avatar HardIsEasy commented on May 13, 2024 3

+1 I just came from Make.com where router is very easy to set up makes pipedream look way to complicated

from pipedream.

jonparker avatar jonparker commented on May 13, 2024 2

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.

from pipedream.

drakeballew avatar drakeballew commented on May 13, 2024 2

+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.

from pipedream.

myonara avatar myonara commented on May 13, 2024 1

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.

from pipedream.

yangcheng avatar yangcheng commented on May 13, 2024 1

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.

from pipedream.

tonyxiao avatar tonyxiao commented on May 13, 2024 1

It would also be great if the branches can be executed in parallel as well.

from pipedream.

drakeballew avatar drakeballew commented on May 13, 2024 1

from pipedream.

VladymyrPylypchatin avatar VladymyrPylypchatin commented on May 13, 2024 1

In the meantime, here're a few handy workarounds that helped me avoid the need for if/else. Maybe it would be helpful for someone.

  1. Custom actions "find or add."
Screenshot 2023-06-11 at 08 05 46
  1. Mapping of the actions
Screenshot 2023-06-11 at 08 07 47

from pipedream.

dylburger avatar dylburger commented on May 13, 2024 1

@expozeur we’re working on this now. This is a complex feature to get right. Try to be patient as we make it happen.

from pipedream.

rugbbyli avatar rugbbyli commented on May 13, 2024

Hello, are there any updates for this feature ? @dylburger

from pipedream.

dylburger avatar dylburger commented on May 13, 2024

@rugbbyli not yet but we’re still actively thinking about it

from pipedream.

essential-randomness avatar essential-randomness commented on May 13, 2024

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.

from pipedream.

dylburger avatar dylburger commented on May 13, 2024

@essential-randomness That's great feedback and yes, this would be possible with the implementation we envision for this.

from pipedream.

giondo avatar giondo commented on May 13, 2024

no update yet?
I would be great to have conditionals steps
so we can perform different actions with diff integrations depending on the trigger

from pipedream.

dylburger avatar dylburger commented on May 13, 2024

@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).

from pipedream.

EnGlamdring avatar EnGlamdring commented on May 13, 2024

@dylburger +1 I'm doing multiple flows right now to handle this and it's driving me nuts. Thanks!

from pipedream.

devang-kredx avatar devang-kredx commented on May 13, 2024

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)

from pipedream.

LucBerge avatar LucBerge commented on May 13, 2024

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.

from pipedream.

jonparker avatar jonparker commented on May 13, 2024

Hi @LucBerge , I am no longer using Pipedream in that team. I am only using it for small personal projects.

from pipedream.

yangcheng avatar yangcheng commented on May 13, 2024

is there any update on this feature?

from pipedream.

elibroftw avatar elibroftw commented on May 13, 2024

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.

from pipedream.

s1248 avatar s1248 commented on May 13, 2024

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.

image

from pipedream.

rrbbtalnorth avatar rrbbtalnorth commented on May 13, 2024

Hi, I also agree with the request to add "router" to the workflow. We will be happy to receive updates.

from pipedream.

chahalamol avatar chahalamol commented on May 13, 2024

also wondering on the status of this feature

from pipedream.

fev4 avatar fev4 commented on May 13, 2024

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.

from pipedream.

acreconsulting avatar acreconsulting commented on May 13, 2024

+1 following

from pipedream.

wwc-development avatar wwc-development commented on May 13, 2024

Is this an upcoming feature? This would be really helpful

from pipedream.

yangcheng avatar yangcheng commented on May 13, 2024

has been more than 3 years and no update, I am moving all my pipedream workflow to cloudflare workers.

from pipedream.

dylburger avatar dylburger commented on May 13, 2024

Hi @yangcheng , this is still on our roadmap. Does Cloudflare workers support branching logic in their function UI?

from pipedream.

Zewb avatar Zewb commented on May 13, 2024

I saw it mentioned in Slack, but looks like this is still in-progress with no ETA. Looks like it would be a great addition when it happens though!

from pipedream.

mahomedh avatar mahomedh commented on May 13, 2024

Agreed! Meanwhile, I’ve found that you can do this and a lot more by handling the branching yourself in a custom code block if you break up your larger workflow into sub component workflows and then use HTTP requests to trigger the sub flows. I can share an example of what I’m doing if it would be helpful, lmk.

If you could share, this would be great. Though I assume that creating multiple flows to handle branching will count towards the active workflows. So this is limited for anyone not on the Advanced price plan. I was loving pipedream in my tests so far, but this might be a deal breaker.

from pipedream.

VladymyrPylypchatin avatar VladymyrPylypchatin commented on May 13, 2024

+1 for this feature. The only reason for considering make/integromat or a custom solution

from pipedream.

Zewb avatar Zewb commented on May 13, 2024

Yeah, that would definitely help! Please share anyone you've got. :)

from pipedream.

drakeballew avatar drakeballew commented on May 13, 2024

from pipedream.

mroy-seedbox avatar mroy-seedbox commented on May 13, 2024

Another type of branching to consider: run two (or more) branches in parallel (fan out), and then with the ability to fan back in later.

Something that could support a workflow like this:

    ----- A1 ------- A2 ------- A3 ------- A4
          |          |          |
          B1 ------- B2         |
          |                     |
          C1 ------- C2 ------- C3
                     |
                     D1

from pipedream.

expozeur avatar expozeur commented on May 13, 2024

How is it possible that something so simple, like the ability for custom logic to skip a certain step based on a condition, is not built in to an integrations tool that is intending to compete with the big guys like Zapier and Make? I'm a new Pipedream evangelist, but this is just disappointing. And then to see that this is an ongoing conversation and that there have been plans to "fix" this for 4 years is just embarrassing.

We all look forward to a solution.

from pipedream.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.