Full AppULTRA3 screens, copy-paste YAML for Power Apps Studio

Approvals App for Power Apps

Request, approve, reject, and see every decision. Three screens for time off, purchases, expenses, access and contracts. Scroll to see why each part of the screens is there, then copy the YAML at the end.

Screen 1 of 3

My requests

What the employee sees: everything they asked for, where it stands, and a way to ask for more.

Step 1 of 4

One list, four chips

Waiting, Approved, Rejected, or all of them. Each chip sets one variable and the gallery filters on it. The rows are a single template: a type chip, the title, when it was submitted and who has to decide, the amount and a status pill. Change the template once and every row follows.

Step 2 of 4

The detail pane answers "why not?"

Selecting a card fills the pane on the right: the properties, the reason the employee gave, and the comment the approver left. A rejected request without an explanation is the number one complaint about approval tools, so the comment gets its own section. Pending requests can be withdrawn here too.

Step 3 of 4

A dialog that collects a real record

The New request dialog has the four fields every approval needs: what, which type, how much, and why. Submit runs a Collect on the collection and the new card appears at the top of the list, already in Waiting. Swap the demo approver for a lookup and the form is live.

Step 4 of 4

Dark mode is part of the template

The generated YAML ships a real dark palette. Set the preview to dark before copying and the code you get uses the dark colors, on all three screens.

SignOff · My RequestsLive preview
AK
My requests
What you asked for, and where it stands
WaitingPurchase#207
Home office monitor
TypePurchase
Amount€310
Submitted3 Sep
ApproverLars B.
DecidedNot yet
REASON

27 inch, replaces the 2019 one that flickers.

APPROVER COMMENT

Waiting for Lars B..

Screen 2 of 3

The approver inbox

What the manager sees: what is waiting, the reason, and two buttons. The whole job in one screen.

Step 1 of 4

Views with live counts

Waiting for me is the queue; Approved and Rejected are the record. Each view is one Filter over the collection and the numbers next to them are CountRows, so they move the moment a decision is made. The "Waiting by type" block underneath tells you what kind of week it is.

Step 2 of 4

The list shows only what a decision needs

Who is asking, for what, what type, when, and how much. Every row is one gallery template with the requester initials colored by type. Nothing else, because an approver scanning twenty requests should not have to read twenty paragraphs.

Step 3 of 4

Approve, Reject, and a comment box

The reason sits above the decision so you read before you click. Both buttons run one Patch that sets the status, the approver, the date and your comment, then clear the box. The row leaves the queue, the counts update, and the employee sees the comment on their screen. Try it in the preview.

Step 4 of 4

One setting, two characters

The same screen with the style setting switched to Neutral: monochrome instead of semantic colors. Both looks come from the same generator, so the choice is one dropdown, not a redesign.

SignOff · Approver InboxLive preview
AK
SignOff
Approver Inbox
VIEWS
WAITING BY TYPE
Time off1
Purchase2
Expense1
Access2
Contract0
Waiting for me6 requests
WaitingTime off#212
Two weeks vacation in October
RequesterMarcus Schmidt
TypeTime off
AmountNo amount
SubmittedToday
REASON

14 to 25 October. Handover to Jana is done and the on-call rota is covered.

YOUR DECISION

Screen 3 of 3

The history

Every decision, searchable. The screen finance asks for in the first week.

Step 1 of 3

Four numbers that recount themselves

Decided, approved, rejected and the approval rate. The tiles are one gallery whose items are CountRows formulas, so they are never stale. Add a tile by adding a row to a table.

Step 2 of 3

A table that fits every screen

Date, request, requester, type, amount, decision, plus search and chips. On a tablet the requester and type columns fold into a second line under the request; on a phone the amount joins them. Same gallery, same data, no second layout to maintain.

Step 3 of 3

The primary color setting

The primary color is a setting. Change it once and the generated YAML uses it everywhere: the rail logo, the active chip, the buttons. This is the same screen with a different primary color.

SignOff · HistoryLive preview
AK
History
Every decision, with who decided and why
Decided
5
all requests with a decision
Approved
3
green light
Rejected
2
sent back
Approval rate
60%
of decided requests
DateRequestRequesterTypeAmountDecision
2 SepCleaning service contract renewalKlaus MüllerContract€12,000Approved
29 AugTeam offsite in HamburgElena RodriguezExpense€3,200Rejected
27 AugTraining: Power Fx advancedAnna K.Expense€490Approved
21 AugThree days off before ChristmasAnna K.Time offApproved
14 AugStanding deskAnna K.Purchase€680Rejected

Try the inbox

This preview is interactive. Switch views on the left, select a request, type a comment, and approve or reject it. The pasted screen behaves the same way in Studio, because the YAML contains the same logic.

SignOff · Approver Inbox, interactiveLive preview
AK
SignOff
Approver Inbox
VIEWS
WAITING BY TYPE
Time off1
Purchase2
Expense1
Access2
Contract0
Waiting for me6 requests
WaitingTime off#212
Two weeks vacation in October
RequesterMarcus Schmidt
TypeTime off
AmountNo amount
SubmittedToday
REASON

14 to 25 October. Handover to Jana is done and the on-call rota is covered.

YOUR DECISION

Work with the screens

Pick a screen and copy its YAML. In Power Apps Studio, right-click the Screens node in the tree view and paste. All three screens paste into one app without name collisions and share one collection.

Set up in 4 steps

  1. 1.Set the app layout to Responsive

    In Power Apps Studio open Settings, then Display, and set App layout to Responsive. With the Fixed layout the app shrinks on a phone instead of reflowing.

  2. 2.Copy the My Requests

    Pick a screen in the tabs below and press Copy YAML. Start with the My Requests.

  3. 3.Paste on the Screens node

    In the Tree view, right-click the word Screens itself and choose Paste, or press Ctrl + V. Not inside an existing screen: that keeps the controls but drops the screen's OnVisible.

  4. 4.Repeat for the other 2 screens, then wire the sidebar

    Paste each screen the same way. Then set the screen field of each sidebar item to the screen it should open. The Instructions tab shows the exact lines.

3 screens, each one is pasted on its own

Approvals App: My Requests

ULTRANEW
Approvals App for Power Apps | PowerLibs | PowerLibs