Agency-Owner Smart Workflows
Why This Exists
The current product model is strong enough that the next UX gain should come from follow-through, not more surface area.
For an agency owner, the app should not feel like a set of pages that report status and wait for interpretation. It should feel like an operating system that already understands the next likely move.
That does not mean fake AI commentary or noisy recommendations. It means the interface should:
- make high-signal records directly actionable
- promote the next job when a state change happens
- carry context across delivery, billing, contracts, drive, and portal workflows
- reduce the number of times an operator has to stop, think, navigate, and reconstruct context
This should become a selling point of the app, not a polish footnote.
Product Bar
The org workspace should feel smart in a grounded way.
Smart means:
- a user sees an item and can open the obvious detail from the whole row or card
- a completed action offers the next likely action before the user has to go hunting for it
- recommendations are based on real state and explicit relationships, not guesses disconnected from the data model
- adjacent follow-through stays truthful to the ownership model instead of inventing fake shortcuts
Not smart:
- decorative "assistant" copy that restates the screen
- generic dashboards that summarize issues but do not help resolve them
- dead-end success toasts after meaningful workflow completions
- smart-sounding prompts that require data the product does not actually have
Current Grounded Gaps
These are the first concrete examples already visible in the app.
1. Passive high-signal overview rows
The org overview currently renders attention, billing, time, project-target, and recent-delivery items as passive InfoRow cards.
That breaks the natural operator loop:
- notice risk or opportunity
- open the owning record
- take the next action
If a row tells the user a project is blocked, a client is past due, or a target is approaching, the whole row should behave like a doorway into the owning workflow.
2. Timer stop is a dead end
Stopping a timer currently creates the time entry and shows a success toast.
That is not enough for real operating flow.
After stopping a timer, the next likely needs are usually one of:
- review the saved entry
- correct notes, duration, or billable state
- jump to the client or project time context
- continue work somewhere else with the created record as confirmation
The app currently makes the user reconstruct that path manually.
3. Follow-through is inconsistent across surfaces
Some reporting rows already understand this pattern well. For example, analytics ranking rows use explicit links into the owning client workspace.
The problem is inconsistency:
- some surfaces behave like an operational workspace
- other surfaces still behave like read-only summary panels
The bar should be consistent wherever a record is high-signal and the next destination is durable.
4. Portal spotlight surfaces are still too passive
The portal overview, projects, and files surfaces still use many spotlight cards that require an extra explicit button or offer no direct next-step bias.
Examples:
- portal attention rows summarize state but do not guide the next job
- portal recent project cards still rely on a separate
Open projectbutton instead of making the spotlight itself feel actionable - portal file-request response flows end in success toasts without a stronger handoff into the submitted item or next expected step
This makes the client-facing side feel more static than it should.
5. The workspace dock is useful but not yet context-aware
The org quick-action dock already creates a good workspace affordance, but it is still mostly static.
It does not yet adapt to the state of the business day.
Examples:
- it does not elevate
Approve timewhen approvals are waiting - it does not elevate
Open billingwhen clients are ready to invoice or past due - it does not steer the operator toward the single highest-value next move
That is a major opportunity because the dock is already the right surface for predictive action.
Patterns Already Worth Reusing
Not everything needs to be invented.
Some parts of the app already behave in the right direction and should become the reference pattern.
1. Client detail already thinks in next actions
The client overview already has explicit next-action cards.
That means the app already has a precedent for:
- typed state-based actions
- cross-track follow-through anchored on the client account
- making the next job visible without bloating the page
The next step is to extend that logic to higher-frequency overview and workspace surfaces.
2. Portal detail already offers cross-track handoffs
The org portal detail workspace already links directly into the client's projects, files, and billing workspaces.
That is the right cross-track pattern:
- explicit
- truthful
- tied to real destinations
It should spread to other summary surfaces that still stop at status display.
3. Billing creation already lands users in the owning detail route
Invoice and subscription create flows already redirect the operator into the created record.
That is exactly the kind of follow-through the app should reuse elsewhere.
The question is not whether the pattern works. It is why it is still missing from time, overview, portal requests, and other daily loops.
Agency Day Workflow Audit
This is the more complete inventory of where the product can feel more predictive before any implementation work starts.
1. Start-of-day triage
This is the first agency-owner workflow:
- open the app
- find the biggest risks
- decide what to handle first
Likely UX opportunities:
- org overview spotlight rows should open the owning client, project, or delivery record from the whole surface, not force a second navigation decision
- client health should be stratified more deliberately into
past due,at risk,attention, andhealthyinstead of being distributed across separate summary cards only - the overview should expose a dominant next move for each high-risk client, not just the existence of a problem
- the quick-action dock should surface the top operational interruption of the day, not only a fixed tool list
- analytics and overview together should answer both
what changed?andwhat should I do now?
Small interaction opportunities:
- larger click targets on attention rows
- row hover and focus states that make the next destination obvious
- action toasts that include a real next step when the user resolves a risk
2. Delivery planning and blocker management
This is the second loop:
- review active and blocked work
- decide what is slipping
- move toward update, unblock, or handoff
Likely UX opportunities:
- blocked project signals should lead directly to the project workspace and the most likely next move, not just report a blocked count
- upcoming target rows should suggest
open project,review update, orpublish updatedepending on recency and status - recent delivery rows should open the delivered artifact or related project immediately
- project spotlight cards in portal and org should feel like work surfaces, not static summaries with a small trailing button
- project-linked collaboration should be easier to follow from updates into files and request destinations when those links are explicit
Predictive behaviors to consider:
- if a target date is near and no recent client-visible update exists, bias toward
publish update - if a project is blocked and a client-visible update is stale, bias toward
open projectplussend update - if fresh deliverables exist, bias toward
open shared filesorreview client-visible artifact
3. Time capture, correction, and approval
This is one of the strongest daily loops in the product:
- start work
- track time
- stop work
- confirm the record
- approve or route into billing readiness
Likely UX opportunities:
- stop timer should hand the user into the created entry or the relevant time context instead of ending in a toast
- the timer should bias client and project defaults from the current working context where the route already implies one
- timer notes should be easier to seed from recent work on the same client or project
- pending approvals should promote
review entriesas a dominant action when the volume is non-trivial - approved billable time should promote
open billingorready to invoicewhen coverage is missing or invoice posture is unresolved
Small interaction opportunities:
- preserve the distinction between
save and stop,pause, anddiscard, but make the likely next outcome clearer - remember recent timer context more aggressively when the user reopens the timer route
- preselect the right queue when the user jumps into time from an attention signal
4. Weekly billing and receivables management
This is another natural agency-owner loop:
- review approved billable work
- confirm coverage
- create invoice or recurring coverage
- follow up on overdue clients
Likely UX opportunities:
- clients with approved time and no coverage should be promoted as
ready to invoiceorneeds coverage, not only as background attention reasons - missing billing contacts should be intercepted earlier in the workflow so they do not stay as latent risk until send time
- coverage gaps should lead directly into the correct action: invoice creation, subscription setup, or billing-profile correction
- subscriptions should surface renewal or review timing more proactively where the underlying dates support it
- billing views should feel more like an operating cycle and less like separate invoice and subscription screens
Important nuance:
- invoice and subscription creation already redirect into their detail routes, which is the correct pattern
- the missing layer is earlier anticipation: knowing which client needs billing action before the operator opens the create flow
5. File exchange, request review, and acknowledgment
This is the collaboration loop:
- agency requests something or shares something
- client responds
- agency reviews
- client acknowledges when appropriate
- the loop closes cleanly
Likely UX opportunities:
- reviewed request states should offer a stronger acknowledgment handoff than a plain success toast
- request response uploads and docs should offer
open submitted itemorview requestafter success - request cards should bias toward the next actor and next required step, not just the current status label
- portal files overview should surface requests that need action more strongly than generic library browsing
- org-side request review surfaces should make it obvious whether the next move is
review,acknowledge, orclose
Small interaction opportunities:
- make request-related cards and rows open the request or destination context more directly
- keep the destination folder or submitted item visible as a first-class follow-through target after upload or doc creation
6. Client-account management and portal readiness
This is the relationship loop:
- confirm the client is staffed and reachable
- confirm billing and portal contacts exist
- resolve access gaps before they block work
Likely UX opportunities:
- missing primary contact or billing contact should show a more explicit fix action from summary surfaces
- portal readiness issues should lead directly to people or portal management, not just sit as passive state
- the portals workspace should surface stronger cross-track readiness signals, not just access state and counts
- client engagement gaps should become visible when delivery or billing has changed but the portal side has not responded recently
Predictive behaviors to consider:
- if portal is enabled but no one is active, bias toward
invite portal access - if billing is active but billing contact is missing, bias toward
update billing contact - if work is moving but portal engagement is stale, bias toward
send updateoropen portal-ready context
7. Client-facing portal daily loop
The portal should feel predictive for the client too:
- see what changed
- understand what needs a response
- complete that response quickly
Likely UX opportunities:
- portal attention rows should become actionable, not only informative
- portal recent project cards should feel like the project itself is the CTA, not just the trailing button
- portal file cards should guide clients toward the newest relevant artifact or requested response
- portal overview should bias toward
pay,review,upload, oracknowledgewhen the current state makes one of those obvious - success states in portal response loops should confirm what happened and what the client likely wants next
Opportunity Inventory By Size
This is the shorthand backlog before implementation starts.
Micro improvements
- make more spotlight rows and cards fully clickable
- add post-success action toasts or inline next actions where flows currently end in a toast only
- preselect the right queue, filter, or client context when navigating from attention signals
- remember recent timer context and working context more aggressively
- strengthen hover, focus, and pressed states on actionable summary surfaces
- replace generic secondary actions like
Managewith more specific verbs when the next move is obvious
Medium workflow improvements
- timer stop follow-through into the created entry or relevant time slice
- ready-to-invoice prompts driven by approved billable time and coverage state
- dynamic next-action cards on overview and billing watchlists
- portal request handoff prompts after upload, doc response, review, and acknowledgment
- context-aware quick-action dock badges and dominant action state
Larger system-level improvements
- client health stratification across the org workspace
- renewal and receivables countdown views that drive weekly agency rhythm
- engagement-staleness prompts when portal/client response lags behind active work
- analytics as a command surface with drill-ins that already know the likely next destination
Core Anticipatory Patterns
These patterns should guide future org and portal polish.
1. Whole-surface row and card affordance
If a row or card exists to spotlight one specific record, make the whole surface open that record unless there is a strong reason not to.
Use this for:
- attention rows
- upcoming target rows
- recent delivery rows
- billing watchlist rows
- pending approval rows
- ranked client rows
Rules:
- the primary click should open the owning record, not a generic list page
- if secondary actions exist, they should be adjacent and explicit
- the row should still scan cleanly without looking like a giant button circus
2. Completion handoff prompts
Every meaningful workflow completion should ask what the user most likely wants next.
Good candidates:
- stop timer
- create invoice
- create subscription
- publish project update
- send file request
- upload or author a drive item
- reconnect or configure portal access
The pattern is not always a modal. It can be:
- a post-save prompt
- an inline success state with one or two next actions
- a toast with a real action
- a redirect when the next page is unambiguous
3. Typed next actions from real state
When a record is in a known state with a likely next move, surface the move directly.
Examples:
- blocked project: open project detail, draft internal note, publish client update
- approved billable time without coverage: open client billing, draft invoice, create recurring coverage
- overdue invoice: open invoice detail, open client billing, open portal billing view
- missing portal access for primary contact: open people tab, invite portal access
- open file request with returned files waiting on review: open request destination, review submission, acknowledge client
Rules:
- recommendations must be typed by state, not generic
- only show actions the current user can actually take
- do not mix ownership models just to expose more buttons
4. Cross-track follow-through without ownership drift
The app is strongest when the user can move between related tracks without losing context.
That means:
- time can lead to billing readiness
- projects can lead to updates, files, and contract context
- billing can lead back to client, quote, contract, or subscription origin
- portal workflows can lead to the precise org-side record that needs attention
But the move must stay truthful:
- client account remains the anchor
- projects remain optional delivery units, not fake owners of billing or contracts
- drive remains collaboration-owned, not a catch-all commercial surface
5. Predictive defaults before predictive recommendations
The smartest feeling often comes from reducing setup, not from showing more UI.
Examples:
- default timer client and project from the current working context when valid
- seed note suggestions from recent work on the same client or project
- prefer the last relevant detail tab when reopening a record from a contextual flow
- preselect the correct queue or filter when the user jumps from a state signal
Defaulting well should come before adding more visible prompts.
Highest-Confidence Opportunity Backlog
These are the best initial slices because the repo already has the route structure and data to support them.
Slice 1. Make high-signal overview rows actionable
Scope:
- org overview attention rows
- coverage rows
- billing watchlist rows
- pending time rows
- upcoming target rows
- recent delivery rows
Expected behavior:
- whole row opens the owning client, project, or delivery record
- optional secondary action can open the most likely next queue when that is clearer than the owner detail route
- row hover and focus states make affordance obvious without adding noise
Why first:
- low ambiguity
- immediate perceived intelligence
- aligns the overview with the already-strong linked-row pattern used elsewhere
Slice 2. Add timer stop follow-through
Scope:
- shell active timer popover
- dedicated timer route
Expected behavior after save-and-stop:
- confirm the entry was created
- offer
Open entryas the primary next move - offer one adjacent contextual move such as
View client timeorKeep in entries - preserve draft notes and billable context only when the save fails
Why first:
- high-frequency workflow
- immediately visible value to agency operators
- turns a dead-end success toast into an operational handoff
Slice 3. Add typed next actions to attention surfaces
Scope:
- org overview attention and billing sections
- client detail overview
- later portal overview
Expected behavior:
- each attention reason maps to one primary next step
- multi-reason records still keep one dominant CTA plus supporting signals
- no generic
Managebuttons when a more specific verb is available
Example mappings:
approved_time_not_invoiced->Open billingpending_time_approval->Review entriesblocked_project->Open projectprimary_contact_missing->Add contactbilling_contact_missing->Update billing contact
Slice 4. Make analytics a command surface, not only a report surface
Scope:
- delivery rankings
- finance rankings
- collaboration rankings
- future drill-ins
Expected behavior:
- every ranked row opens the owning record
- charts and summary blocks expose drill-ins only when there is a durable destination
- the reporting surface can answer
what is happening?andwhere do I go fix it?
Slice 5. Extend smart follow-through into portal response loops
Scope:
- portal overview
- files and requests
- billing
- project review and acknowledgment flows
Expected behavior:
- if the client needs to pay, upload, review, or acknowledge, the portal shows that job directly
- org-side views can jump to the precise portal-relevant record
- response loops end with the next believable actor handoff, not a generic success state
Slice 6. Make the quick-action dock state-aware
Scope:
- org quick-action dock
- workspace summary signals
Expected behavior:
- the dock can show one dominant next action when there is a clear operational interruption
- static actions still exist, but urgent state gets surfaced without opening overview first
- badges and emphasis reflect real queues such as pending approvals, ready-to-invoice work, or blocked projects
Why it matters:
- this is the cleanest place to make the product feel like it is already tracking the workday
- the dock already exists, so the improvement is behavioral, not structural
Agency-Owner Mental Loops To Support
These are the natural loops the product should eventually support with near-zero reconstruction cost.
Delivery loops
- something is blocked -> open the project -> resolve blocker or send update
- target date is close -> open the project -> review status -> publish client-visible update
- recent delivery landed -> open the delivered artifact -> confirm what the client can see
Time loops
- stop timer -> review entry -> approve or correct -> check billing readiness
- see pending approvals -> open filtered entries -> approve inline -> continue
- see a lot of tracked time for one client -> jump to client time or billing context
Billing loops
- see overdue or attention billing -> open invoice or client billing -> follow up
- see approved billable time without coverage -> open billing -> draft invoice or recurring coverage
- create invoice or subscription -> open detail -> confirm client-facing outcome
Collaboration loops
- see returned file or document -> open request destination -> review -> acknowledge -> close
- send file request -> jump to the request detail or destination folder immediately
- see recent shared artifact -> open it directly, not just the parent collection
Client-management loops
- see missing primary or billing contact -> open people -> fix the contact model
- see portal readiness issue -> open portal or people -> invite or reactivate access
- see multi-track client risk -> open client overview as the anchor hub
Guardrails
Do not let the product become noisy while trying to feel smart.
- Do not add three competing CTAs to every row.
- Do not show speculative recommendations unsupported by explicit state.
- Do not collapse overview and analytics into one page just to surface more actions.
- Do not route users to generic list pages when the owning detail record is known.
- Do not hide core navigation behind AI-style language.
- Do not introduce fake urgency language when the state model does not justify it.
Implementation Rule
For the current baton, prioritize anticipatory UX where all three are true:
- the record is already high-signal
- the next destination is durable and already exists
- the next likely action is obvious from existing state
This keeps the work concrete and prevents smart-workflow polish from turning into invention theater.
Ranked Implementation Checklist
Severity scale:
high: the gap regularly interrupts a core daily agency loop or makes the product feel less operational than it shouldmedium: the gap weakens follow-through in an important workflow but does not usually block the job entirelylow: the gap is mostly polish, clarity, or consistency work
Effort scale:
small: targeted UI behavior change with existing data and routingmedium: multiple touched surfaces or shared interaction logic, but no major model changelarge: multi-surface orchestration, new heuristics, or backend/query additions to support the behavior cleanly
P0. Do first
| Rank | Item | Severity | Effort | Why first |
|---|---|---|---|---|
| 1 | Make org overview spotlight rows fully actionable | high | small | This is the clearest mismatch between what the page knows and what it lets the operator do. It is visible every day and should immediately improve the "smart" feel. |
| 2 | Add timer stop follow-through on both timer surfaces | high | small | Time capture is one of the highest-frequency loops in the product. Ending it with a toast wastes context at exactly the moment the next move is obvious. |
| 3 | Add typed next actions to org overview attention and billing states | high | medium | Once rows are actionable, the next win is making the action specific. This turns attention from reporting into guided triage. |
| 4 | Make portal attention and spotlight cards more actionable | high | medium | The client-facing side still feels more static than the org side. This is a direct product-perception issue, not just internal polish. |
Checklist:
- Convert org overview
InfoRowspotlight surfaces into linked/actionable rows. - Preserve row scan quality while making the whole surface clickable.
- Add
Open entryplus one contextual follow-through after timer save-and-stop. - Add typed dominant CTAs for top org attention reasons.
- Make portal attention rows and recent spotlight cards feel like direct work surfaces.
P1. Do next
| Rank | Item | Severity | Effort | Why next |
|---|---|---|---|---|
| 5 | Make the quick-action dock state-aware | high | medium | The dock is already the best surface for anticipatory action. Once summary surfaces improve, the dock should become the fastest path into the top interruption. |
| 6 | Add ready-to-invoice and needs-coverage prompts | high | medium | This aligns the app with a real weekly agency billing rhythm and uses state the product already computes. |
| 7 | Strengthen portal request-response handoffs | medium | medium | The request lifecycle exists, but completion states still undersell the next actor handoff. Improving this will make the collaboration loop feel complete. |
| 8 | Add predictive timer defaults and recent-work note bias | medium | medium | This reduces setup friction and makes the timer feel more context-aware without adding noisy UI. |
| 9 | Add stronger client and portal readiness fix actions | medium | medium | Missing billing or portal contacts should become easy repair flows from summary surfaces rather than latent operational debt. |
Checklist:
- Add one dominant dock action or badge when there is a clear top operational interruption.
- Surface
ready to invoiceandneeds coveragestates before the operator opens billing create flows. - Add post-success handoffs for portal file upload, doc response, review, and acknowledgment.
- Seed timer defaults and note suggestions from valid current context and recent work.
- Add clearer fix actions for missing billing contact, missing primary contact, and inactive portal access.
P2. Then deepen
| Rank | Item | Severity | Effort | Why later |
|---|---|---|---|---|
| 10 | Turn analytics into a command surface | medium | medium | Analytics should become more operational, but the product will benefit more after the highest-frequency loops stop dead-ending. |
| 11 | Add client health stratification across the org workspace | medium | large | Valuable, but it should build on already-landed action patterns so the classification drives clear behavior instead of more passive status display. |
| 12 | Add subscription review and renewal timing prompts | medium | medium | Useful for agency rhythm, but less immediate than overview, time, and billing readiness fixes. |
| 13 | Add engagement-staleness prompts for portal follow-through | low | large | This could be powerful, but it depends on stronger action patterns and reliable heuristics to avoid false urgency. |
Checklist:
- Add durable drill-ins from analytics summaries and ranked rows into owning records and queues.
- Standardize client-health buckets that map to meaningful next actions.
- Surface subscription review windows where billing data supports it.
- Add stale-engagement prompts only where the state is reliable and the next action is real.
P3. Ongoing micro polish
| Rank | Item | Severity | Effort | Why ongoing |
|---|---|---|---|---|
| 14 | Replace generic action labels with more specific verbs | low | small | Cheap, cumulative gain in clarity. |
| 15 | Expand hover, focus, and pressed affordances on actionable summaries | low | small | Supports the new interaction model and makes the product feel more intentional. |
| 16 | Preselect queues and filters when navigating from attention signals | low | small | Small cost, high perceived intelligence once main action patterns exist. |
| 17 | Add action-capable success toasts where full prompts are too heavy | low | small | Good supporting pattern, but should follow the major flow decisions above. |
Checklist:
- Remove vague verbs where the next move is already known.
- Tighten interaction states on spotlight cards and rows.
- Carry context into the correct queue, filter, or detail tab on navigation.
- Use action toasts only where a fuller handoff would be disproportionate.
Recommended Execution Order
- Finish the full
P0set. - Land the
P1billing, dock, and request-response upgrades. - Use
P2to deepen reporting and long-cycle agency rhythm. - Apply
P3continuously while touching related surfaces.