DanHendriksen Domo Employee

Comments

  • No C! I don’t know who that other guy is 😂 Thanks for being here!
  • In looking at this again, this was prior to us having templates. Using the loop over dataset template this should not take long to build at all. Probably <20 minutes once you’re familiar with Workflows.
  • If you look at the “getting started with workflows” training at learndomo.domo.com, one of the examples is essentially just like this. Between this write up and that video you should be good to go. Let me know if you get stuck.
  • Sorry about the confusion, @Jbrorby . Yes, we rolled out one of two UI/UX adjustments and only 1 has gone into effect. I hurried and put the training out knowing the changes were coming, with the idea being I could get feedback to incorporate into the recut which will happen soon once the second change drops. In this in…
  • @sstorm183 - how did you get on? You in good shape?
  • jbroby, sorry you’re having issues. I’d encourage you to check out the “Getting Started with Workflows” training at learndomo.domo.com. We go through a very similar use case. To help validate your query, I’d try ditching the where clause. I’m guessing it’s something to do with your arrow function (if that’s really part of…
  • Interesting. Sorry about that. I'd guess it's some nuance the syntax of "PageID". I copied and pasted your object list into the function and I got a list back just fine. Did you try testing it in CodeEngine prior to deploying? It should be a singular step.
  • @Jarren - you would put the function I shared with you as a step in between. You query the dataset to get your list of objects, you use that function to turn it in to a list of PageID's, then you pass that list to the Governance Function. Does that make sense?
  • So, this example is likely unnecessarily complex, but you can see that it takes all your variables as arguments and assembles an object that it returns: function…
  • So, you need to create an object with an object inside of it. { content: { key: value, key2: value2, key3: value3 } } Let me find some code I use for that real quick.
  • That package you're using to add Page Owners - that was one that was created for use with the Page Governance Workflow Template. It looks like the function wants a object with the new owners user ID and the type, which will either be USER or GROUP (depending on whether it's a user a group). You'll probably need to create a…
  • Watch the attached video, but if you create a new function with this code (written by ChatGPT) and have the input be your dataset rows object list and the output be a list of strings, you'll get what you want. function extractPageIDs(pageObjects) { return pageObjects.map(obj => obj.PageID); } Video
  • I'm going to make a quick video for you - stand by.
  • So, you're making progress. This is awesome! The way you use the test function with lists isn't intuitive, so don't worry about that. If the "Test" function is giving you back what you want, which should be a list of objects that each includes a key value pair of Page ID and it's correlated ID, then you're good! All you…
  • Something like this. Obviously I just chose something random, but this is how you create a filtered alert on a dataset.
  • I would use the options up higher in screenshot 1, and would do it around a value changing and a filter.
  • Jarren, I would use the "Loop Over Dataset" workflow template. You'll need to modify the query dataset shape to include your query, then you'll need to define your current row object, then on the "take action on current row" shape you'll need to add the user to the page. If the Add User To Page function wants a number, the…
  • I'd imagine it would be relatively simple to have your form feed those details to a workflow, and the workflow could use the Python and what not that you've written to perform the tasks.
  • Vaco, if I wanted to do this, I would probably quickly create a dataset view that had the aggregated view you wanted, then create a dataset alert with filter rules. THen you could get an alert that says something like: Product 3 has dropped below 10%, and is currently at 8%. Something far more descriptive. If you want to…
  • To answer the last part of this, for some silly reason the product doesn't let you define an object to include a list. You were doing everything right…in your first attempt to define the object if we allowed you to say it was a LIST of persons then you would have been golden, but for some reason the product doesn't allow…
  • @Jarren - I think you're being too hard on yourself, and I apologize that I didn't explain it better. Did you see my other comment? If you create a new package in Javascript, paste that code, set the inputs up as I show in my screenshot and set the outputs up as a boolean you're in business. It will work, will work…
  • Workflows isn't the right sub-forum for such a question, but I'd just do a calculated field where you multiply your value by 100 and display that (with the box unchecked on the visual). That will ensure the underlying data is 73.45 and not .7345 (for example).
  • To answer your question though, the "fetchGroup" function will return a list of all the people in that group, including their ID's. Then you can define the objects and set ID as a person. The code above to email the group directly is far simpler though.
  • @Jarren - I have good news for you! The code below will do what you're after. This will be added to the global packages soon. See the screenshot for how the inputs should look. async function sendDomoEmailToGroup( recipients = [], subject, body, attachments, ) { const parameters = { subject, text: ` <div style="display:…
  • We're going to enhance the function to include group support soon. For now, you would need to run the fetchGroup function in the Domo Groups package, then create a list of persons from the list of ID's returned and email to that list of persons. Does that make any sense? LOL
  • @claudio_sp - there is a much simpler way. You can just define the open object by editing the variable, and then everything inside the object can be referenced directly. There is no need to write any javascript/python code - no need to author a custom function. See this instructional video: CC: @GrantSmith
  • Pravin, nobody can see your codeEngine package without having access to your Domo instance. You can paste your code here and I'd be happy to take a look. Is there a reason you're not using the existing Domo published function for appending a row to a dataset?
  • If I were tasked with this, I'd look at the "Workflow Form Start Brick" to create my form, and have the data fed to a workflow that took care of your data logging, your 48 hour wait and the additional actions you need to take.