Is it possible for a WorkFlow to update a column during Various Users Tasks?

bdetcher
bdetcher Contributor

I'm developing a WorkFlow Process that has a few user-based tasks. The workflow is triggered by the addition of a Form Submission that will update a Dataset. As the Workflow progresses (users approve tasks), I would like to have a service automatically update the status in the original Form Dataset that will be used for Reporting purposes. I see there is an AppendtoDataSet function but I do not see a function to update a record already existing on the dataset.

Tagged:

Best Answer

  • DanHendriksen
    DanHendriksen Domo Employee
    edited October 14 Answer ✓

    @bdetcher - totally get it. I build stuff like that all the time. The good news is it can be done without any writing any code at all, and without using any bricks.

    If you want to do what you originally outlined, then you'll want to:

    • Enable upsert on the form dataset/define upsert keys (I haven't tried to do this on a form based dataset but I'd imagine it's possible)
    • Use the "append row" function in the Domo Datasets Package, and it will update existing rows

    As a warning - I suspect you'll see your dataset alerts that trigger based on a row updating fail once the row count gets very high. I don't know where they were at on that, but somewhere around 300 or 500 rows, the dataset alert for API driven datasets will lose the option to be triggered upon a row being added.

    I'm happy to help you however you'd like - I was just sharing the approach that I thought would be the simplest, most robust and most efficient. Certainly lots of ways to achieve it though.

Answers

  • DanHendriksen
    DanHendriksen Domo Employee

    I would not have the form write to a dataset.

    I would use a customized workflow start form to have the user fill that out, and then use AppDB for the logging and updating.

  • DanHendriksen
    DanHendriksen Domo Employee

    If you DO want to update a record in a dataset you can, but you need to enable upsert and upsert on that dataset. It's much more nuanced though.

    Leveraging an AppDB collection will be more efficient, and give you a lot more control. Saving the responses being written to the dataset and having an alert trigger the workflow by just using the customized start form will be big efficiency gains too.

    I will be doing a webinar for the community in a couple of weeks where we go through and build out some of the concepts.

  • bdetcher
    bdetcher Contributor

    @DanHendriksen Thank you for the input. I am not too familiar with AppDB, so I am trying to develop a process that requires minimal coding and doesn't require the use of a Brick.

    The goal of the process is to be able to have a reporting dataset that users can see the individual status of their requests as it moves through various manual user tasks within the process. I was hoping the "Status" field from the Form input (generated either as a Form or at the start of the Workflow) could automatically be updated within the dataset as it moves through the process. I know the Queues option could work, but if there are multiple requests, it will be confusing for the user to know which request is which. Also, the department needs to be able to use some of the captured information to determine some basic reporting information.

    My original thought is that Inline Editor in combination with Workflows will work but I was hoping to automate the update part of the Workflow.

  • DanHendriksen
    DanHendriksen Domo Employee
    edited October 14 Answer ✓

    @bdetcher - totally get it. I build stuff like that all the time. The good news is it can be done without any writing any code at all, and without using any bricks.

    If you want to do what you originally outlined, then you'll want to:

    • Enable upsert on the form dataset/define upsert keys (I haven't tried to do this on a form based dataset but I'd imagine it's possible)
    • Use the "append row" function in the Domo Datasets Package, and it will update existing rows

    As a warning - I suspect you'll see your dataset alerts that trigger based on a row updating fail once the row count gets very high. I don't know where they were at on that, but somewhere around 300 or 500 rows, the dataset alert for API driven datasets will lose the option to be triggered upon a row being added.

    I'm happy to help you however you'd like - I was just sharing the approach that I thought would be the simplest, most robust and most efficient. Certainly lots of ways to achieve it though.

  • bdetcher
    bdetcher Contributor
  • DanHendriksen
    DanHendriksen Domo Employee

    I should clarify the solution I proposed (moving to a workflow start form as opposed to a dataset based form and using AppDB to status updates, reporting, etc…) is the that one requires no code, no bricks, etc…

    Of course your solution doesn't require those things either, but the upsert part will bring a high level of nuance. You'll want to make sure in your alert you pass EVERY SINGLE VALUE on the row to the workflow, because it will need all of them to perform the upsert function.