Workflow Approval Matrix
I am wondering if anyone knows a way of when creating an automated workflow for approval if there is a way (and if there is how) to set a criteria to follow a path.
For example, if someone requests to pay £66k it would need to go to Approver Level 1, Approver Level 2 and Approver Level 3 but not any higher.
Is there a way a criteria can be set to say if the cell value "Amount" is less than £66,000.01 send to Level 1, Level 2 and Level 3 only for approval?
Thank you in advance!☺️
Best Answer
-
Hollie Green ✭✭✭✭✭
Yes below the Trigger when creating a workflow there is the option to add a condition you would just need to set up your conditions. Once you choose one condition it gives you the option for otherwise to create your next condition.
You would need a helper column to indicate if the amount is greater than or less than to indicate in the conditions as the workflow doesn't allow the use of formulas.
Answers
-
Hollie Green ✭✭✭✭✭
Yes below the Trigger when creating a workflow there is the option to add a condition you would just need to set up your conditions. Once you choose one condition it gives you the option for otherwise to create your next condition.
You would need a helper column to indicate if the amount is greater than or less than to indicate in the conditions as the workflow doesn't allow the use of formulas.
-
AimeeRH ✭
Thank you@Hollie Green. Knew it would be something as simple as that, that i was missing!
-
WinaHath ✭✭✭
I have the same situation but slightly different. Some tasks have to be approved by 1 or 2 persons, some by 3, 4, 5 or 6 and if special projects by another person higher.
Trigger - if Process Status is changed to Submit for Approval
1) approver 1 to approver 2 but if higher than $$ should go to approver 3, if approved stop process
2) approver 1 to approver 2 to approver 3 but if higher than $$$ should go to approver 4; if approved stop process
and so on and so forth...
should I do separate workflows for each or just one branching out to levels of approval? Should I do a checkbox trigger for each instead of one for all? We have 200 departments with distinct approval tracks. I thought about using the department codes as a condition. please help me sort out my confusion!
-
Genevieve P. Employee Admin
Hey@WinaHath
Without seeing your sheet and knowing your full process, it sounds like you coulduse Condition Blocksand pathways to have multiple versions of Approval Workflows. However keep in mind that you'll need to use either different columns to store the Approvals in or use different values so that you don't trigger other areas of the workflow(see here).
If you would like some guidance based on your specific process, it looks like you have access to bookingPro Desk sessions. These are 30-minute sessions over screen share where you can chat through your goals and ask for advice.
Cheers,
Genevieve
-
WinaHath ✭✭✭
Thanks@Genevieve P.!
Here is a screenshot of a series of approval tracks.
Templeton Lecture has 3 approvers: 1 & 2 have zero dollar thresholds so any requisitions from $1 to $2999.98 can be approved by those 2 but if the requisition <$2999.99 then it needs to go to approver 3.
Nimocks Endowed Professorship has 4: 1 & 2 have zero dollar thresholds but approver 3 has a $299.99 approval threshold so 1 & 2 can only approve anything less than 299.99. Approver 3 can approve anything <$299.99 up to $2998 and if it exceeds 2999.99, then approver 4 has to sign.
There are other tracks that have 5 or 6 layers as well and a dollar threshold for anything over $4999.99
It is so confusing. Do I need to enter the conditions first before the action? Should I create a workflow for each group of approval track? I have been trying to figure this out for 2 days. I need help!
Thank you!
-
Genevieve P. Employee Admin
What I would personally do in this instance is set upone workflowPER department... unless that means 200 workflows? In this case, I would recommend having separate sheets for each department, and one standard Approval Workflow that's set up the same way on each sheet.
For your examples above, this is how I would have my sheet set up:
Then, pretending I only have the two "companies" or departments, then I would set up two separate workflows:
This is the general structure:
- Trigger
- Condition: specific company (/department)
- Action: Request Approval (1st request)
- Approval stored in the 1st Approver Column
IF APPROVED:
- Condition: specific company (/department)
- Action: Request Approval (2nd request)
- Approval stored in the 2nd Approver Column
IF APPROVED:
- Condition: specific company (/department)AND $ amount
- Action: Request Approval (3rd request)
- Approval stored in the 3rd Approver Column
*repeat again if there's a different $ amount for the next approval*
Note therepeatedCondition that looks for the Company. This will prevent your other workflows from triggering when you receive an update from a different workflow. Does this make sense? So to answer your question: Yes! Add the Condition inbeforethe Action.
Here's a screen capture of an example set-up:
Cheers,
Genevieve
-
WinaHath ✭✭✭
I wish we only had 2 or 3 but we have 660 Department Codes each with their own approval tracks!
-
WinaHath ✭✭✭
I don't have the option to "Send to Smartsheet Automation". is that an app or only available to Enterprise Users?
-
Genevieve P. Employee Admin
Yes, with 660 separate departments and unique approval paths, this does not sound like a good use-case for approval automations if it's all in one sheet.
If your plan has it purchased, I would recommend using Dynamic View instead. This way your Approvers can go into one place to see the rows they're associated with and need to approve, instead of using multiple individual emails.Here's more information.作为一个选择来说ive, you could share them to the source sheet and set up Grouped Reports, filtered by "current user" so they only see their rows in one Report.
In regards to the "Send from Smartsheet Automation", this is currently a feature being tested out and will be released in the future!You can see a sneak preview of it fromBen's post, here.
Cheers,
Genevieve
-
WinaHath ✭✭✭
Unfortunately, our leadership decided not to get the Enterprise as of now. I need to prove to them that Smartsheet works first! I am building our Procurement System entirely in Smartsheet and I am not an advanced user. I just use common sense most of the time which has worked for the most part but I have to reach out to experts like you for the more complicated stuff!
I decided to do it by approval track groups (i.e. 1 approver, 2 approvers no dollar limit, 2 approvers with limit, etcetera. I hope it works this way.
We collect data from an intake form and the department will be selected during data entry. I have a separate sheet for the approval tracks and a formula to reference the columns from that sheet to output data to the main one using Department Codes as the point of reference.
I need to present my workspace to the controller by next Thursday so I am feeling the pressure
The other thing I need to figure out is when a purchase is billed to multiple departments. I appreciate your help!
have a great rest of the day!
Wina
Categories
<\/p>
=VALUE(IFERROR(JOIN(DISTINCT(COLLECT([Customer PO Amount (USD)]@row:[Customer PO Amount (Local Currency)]@row, [Customer PO Amount (USD)]@row:[Customer PO Amount (Local Currency)]@row, <>\"\"))), \" \"))<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":321,"name":"Smartsheet Basics","url":"https:\/\/community.smartsheet.com\/categories\/smartsheet-basics%2B","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[{"tagID":254,"urlcode":"formulas","name":"Formulas"}]},{"discussionID":109460,"type":"question","name":"IF \/ OR formula then Check a Box","excerpt":"I need a formula that IF a specific column has either 1 of 2 specific choices, then a BOX in another column is checked: =IF(([Study Status]@row = \"Active\/ Open to Accrual\", 1) OR([Study Status]@row = \"In Start-Up\", 1))","snippet":"I need a formula that IF a specific column has either 1 of 2 specific choices, then a BOX in another column is checked: =IF(([Study Status]@row = \"Active\/ Open to Accrual\", 1)…","categoryID":321,"dateInserted":"2023-08-25T13:30:39+00:00","dateUpdated":null,"dateLastComment":"2023-08-25T16:21:27+00:00","insertUserID":9250,"insertUser":{"userID":9250,"name":"Susan Swisher","url":"https:\/\/community.smartsheet.com\/profile\/Susan%20Swisher","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-25T16:23:49+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭"},"updateUserID":null,"lastUserID":161714,"lastUser":{"userID":161714,"name":"Carson Penticuff","url":"https:\/\/community.smartsheet.com\/profile\/Carson%20Penticuff","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/B0Q390EZX8XK\/nBGT0U1689CN6.jpg","dateLastActive":"2023-08-27T02:16:35+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":9,"countViews":48,"score":null,"hot":3385956126,"url":"https:\/\/community.smartsheet.com\/discussion\/109460\/if-or-formula-then-check-a-box","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/109460\/if-or-formula-then-check-a-box","format":"Rich","tagIDs":[254],"lastPost":{"discussionID":109460,"commentID":392616,"name":"Re: IF \/ OR formula then Check a Box","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/392616#Comment_392616","dateInserted":"2023-08-25T16:21:27+00:00","insertUserID":161714,"insertUser":{"userID":161714,"name":"Carson Penticuff","url":"https:\/\/community.smartsheet.com\/profile\/Carson%20Penticuff","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/B0Q390EZX8XK\/nBGT0U1689CN6.jpg","dateLastActive":"2023-08-27T02:16:35+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"Smartsheet Basics","url":"https:\/\/community.smartsheet.com\/categories\/smartsheet-basics%2B"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-25T15:13:03+00:00","dateAnswered":"2023-08-25T14:14:39+00:00","acceptedAnswers":[{"commentID":392575,"body":"
Give this a try:<\/p>
=IF(OR([Study Status]@row = \"Active\/Open to Accrual\", [Study Status]@row = \"In Start-Up\"), 1)<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":321,"name":"Smartsheet Basics","url":"https:\/\/community.smartsheet.com\/categories\/smartsheet-basics%2B","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[{"tagID":254,"urlcode":"formulas","name":"Formulas"}]},{"discussionID":109457,"type":"question","name":"Conditional Formatting (modified date not in the last 3 weeks)","excerpt":"I would like to use Conditional Formatting (highlight the entire row yellow) if the modified date is not within the last 3 weeks. So any row that has not been recently updated (last 3 weeks) should be highlighted in yellow. Is this spmething that can be done directly within conditional formatting or should I first create a…","snippet":"I would like to use Conditional Formatting (highlight the entire row yellow) if the modified date is not within the last 3 weeks. So any row that has not been recently updated…","categoryID":321,"dateInserted":"2023-08-25T12:33:14+00:00","dateUpdated":null,"dateLastComment":"2023-08-25T12:40:57+00:00","insertUserID":161267,"insertUser":{"userID":161267,"name":"Jef Snyders","title":"Jef Snyders","url":"https:\/\/community.smartsheet.com\/profile\/Jef%20Snyders","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/4HJAEW33KBD0\/nXEKEZE5EQEV4.jpg","dateLastActive":"2023-08-25T13:32:31+00:00","banned":0,"punished":0,"private":false,"label":"✭✭"},"updateUserID":null,"lastUserID":161267,"lastUser":{"userID":161267,"name":"Jef Snyders","title":"Jef Snyders","url":"https:\/\/community.smartsheet.com\/profile\/Jef%20Snyders","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/4HJAEW33KBD0\/nXEKEZE5EQEV4.jpg","dateLastActive":"2023-08-25T13:32:31+00:00","banned":0,"punished":0,"private":false,"label":"✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":2,"countViews":28,"score":null,"hot":3385935251,"url":"https:\/\/community.smartsheet.com\/discussion\/109457\/conditional-formatting-modified-date-not-in-the-last-3-weeks","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/109457\/conditional-formatting-modified-date-not-in-the-last-3-weeks","format":"Rich","tagIDs":[437],"lastPost":{"discussionID":109457,"commentID":392553,"name":"Re: Conditional Formatting (modified date not in the last 3 weeks)","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/392553#Comment_392553","dateInserted":"2023-08-25T12:40:57+00:00","insertUserID":161267,"insertUser":{"userID":161267,"name":"Jef Snyders","title":"Jef Snyders","url":"https:\/\/community.smartsheet.com\/profile\/Jef%20Snyders","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/4HJAEW33KBD0\/nXEKEZE5EQEV4.jpg","dateLastActive":"2023-08-25T13:32:31+00:00","banned":0,"punished":0,"private":false,"label":"✭✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"Smartsheet Basics","url":"https:\/\/community.smartsheet.com\/categories\/smartsheet-basics%2B"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-25T12:40:09+00:00","dateAnswered":"2023-08-25T12:37:47+00:00","acceptedAnswers":[{"commentID":392551,"body":"
There is no direct way to do this. Adding a checkbox helper column with something similar to this and then formatting based on the checkbox is the simplest way. You can even hide the extra column, as there is no reason for it to be visible.<\/p>
=IF([Modified Date]@row < TODAY(-21), 1, 0)<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":321,"name":"Smartsheet Basics","url":"https:\/\/community.smartsheet.com\/categories\/smartsheet-basics%2B","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[{"tagID":437,"urlcode":"conditional-formatting","name":"Conditional Formatting"}]}],"initialPaging":{"nextURL":"https:\/\/community.smartsheet.com\/api\/v2\/discussions?page=2&categoryID=321&includeChildCategories=1&type%5B0%5D=Question&excludeHiddenCategories=1&sort=-hot&limit=3&expand%5B0%5D=all&expand%5B1%5D=-body&expand%5B2%5D=insertUser&expand%5B3%5D=lastUser&status=accepted","prevURL":null,"currentPage":1,"total":4991,"limit":3},"title":"Trending in Smartsheet Basics","subtitle":null,"description":null,"noCheckboxes":true,"containerOptions":[],"discussionOptions":[]}">