portrait of happy business woman in office rejoicing success

How to Keep Track of Approvals Using Quickbase

Written By: Kirk Trachy
August 2, 2016
2 min read

If you’re using Quickbase to track approvals, there may be times when you need to know who hasn’t yet approved your request. Let me walk you through how to set up your app to track these folks down.

Say you have a list of management that all need to approve your proposal and you are using a Quickbase User-List field to select these people. You want them to log into your Quickbase and approve your request. So you first create a User-List field to list the decision makers. Next you create a multiple choice text field with logging turned on so each person can select “Approved” from the drop-down box and it will record the date, time and identity of their approval. The problem you may have is knowing who has not approved. Another way of saying this is, “Who still needs to approve my request?” Maybe you want to email those that haven’t approved yet so you need a way to list the outstanding managers.

You can accomplish all of this with three fields.

  1. First field is a User-List field to select your management team
  2. Second is a multiple choice text field that has “Approved” as a selectable option. This field has “Logging” turned on so it remembers who has approved.
  3. Third you need a Formula User-List field that looks at your approver list and if someone hasn’t approved yet, include them in this Formula-List field.

If you put the following formula in a Formula User-List field and you substitute your Approvers and your Approvals for the names of your fields, you can track the people that haven’t approved.

If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),1,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),1,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),2,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),2,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),3,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),3,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),4,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),4,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),5,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),5,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),6,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),6,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),7,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),7,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),8,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),8,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),9,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),9,”;”)),null),
If(not(Contains([Approvals],(Part(UserListToNames([Approvers]),10,”;”))&”] Approved”)),ToUser(Part(UserListToEmails([Approvers]),10,”;”)),null)

Have questions, on this, or any other aspect of using Quickbase? Join Sam Trachy in his daily office hours.

Written By: Kirk Trachy
Quickbase evangelist, sales engineer and lover of all things possible with Quickbase. Check out Kirk live at one of his daily webinars.

Never miss a post — subscribe to the Quickbase Blog.

Sign up to receive the latest posts on everything from Operational Excellence to Digital Transformation.