Skip to content
Inbox · One queue

Sorted by how much trouble it is in.

Tasks, client mail, appointments and notifications in one list - ranked so what is overdue is at the top, what is due today is next and a meeting three weeks out sits where it belongs however large its timestamp. Work it from the keyboard, clear rows without leaving the list and forward your firm's existing mailbox in so every client email files itself.

Four bands, one vocabulary.

The rail down each row, the counters at the top and the filters all read the same four words - so a tile and the list can never disagree about what “overdue” means. “Today” is today's date on your firm's own clock, not the next twenty-four hours: a task due at 9am tomorrow is not due today and one due at 11pm tonight is.

Overdue

A task past its due date, a message nobody answered, an appointment that has been and gone.

Today

Due on today's calendar date where your firm is - not within the next twenty-four hours.

Soon

Close enough to plan around. This is where next week's consultations sit.

Later

Everything else, including the undated task that a plain timestamp sort used to bury under year-old mail.

Keyboard triage

Four keys and a morning's queue is gone.

Nothing here needs a pointer. Selection lives in the URL rather than in the page, so browser back works, a shared link opens on the row it names and the reading pane never disagrees with the list. The shortcuts stand down while you are typing in a field.

J / K

Move down and up the list. The cursor follows into the reading pane.

Enter

Open the row - the task, the thread, the appointment, the client.

X

Select the row. Press it on several and the next action takes all of them.

E

Clear it: mark a notification read or complete a task. Your selection if you have one, otherwise the row under the cursor.

Clear it where you read it

Mark a notification read or complete a task from the list, one row or twenty at a time. The count tells you what moved rather than leaving you to guess and the list refreshes under you.

An appointment row opens that appointment

Not the index it was picked from. The detail also says whether the 24-hour and 1-hour reminders went out, which had been recorded for months and shown nowhere and a no-show or cancelled booking gains a Send rebooking link - once, deliberately, because some no-shows are billable.

Scoped to the person reading it

Every loader honours per-member data scope. A member on assigned scope sees their own clients' tasks, mail, meetings and notifications and nobody else's.

Notifications

Ten switches that used to ring nothing.

The registry carried thirty-six events, each with a renderer, an email template, a preference row and a toggle - and ten of them had nothing behind them. You could switch “invoice paid” on and never receive one. All ten are wired and a test now fails the moment an event is registered without an emitter.

Invoice paid

However the money arrived - marked by hand, pulled from Xero or QuickBooks or settled by card.

Invoice overdue

Carried out of the same update that ages the row, so the bell and the ledger agree.

Appointment created

And appointment cancelled, both from wherever the booking was made.

Blueprint applied

On a manual apply only. Importing twenty clients does not want twenty rows.

Sponsor document attached

One event per employee the document reached, by the same rule the Documents tab renders.

Template signed by client

Including the partial-sign moment under two signers, which nothing used to announce.

Signing expired

A moment no code used to produce - a nightly sweep makes it true, then says so.

And the Push toggle turns push off.

It used to gate nothing at all. Push now consults your preference before it fans out, an org-wide push excludes anyone who muted that class of event and the last two hand-written paths - task assignment and stage changes - go through the registry like everything else. A preference you set is a preference the product obeys.

How client mail gets here

One forwarding rule, set once and then nobody files anything by hand again.

  1. Step 1

    Forward your existing mailbox in

    Your firm gets its own inbound address. Set a forwarding rule on the mailbox you already use and leave it alone.

  2. Step 2

    The original sender is read out of the forwarded headers

    Matched by email address to one of your clients and the message lands on that client's communications thread. Unmatched mail goes to Operations for triage rather than vanishing.

  3. Step 3

    Routed to the agent who owns that client

    It arrives in the assigned agent's queue first. An 'Assigned to me' filter keeps each agent on their own clients; admins keep the firm-wide view.

  4. Step 4

    Reply from inside the client's file

    A rich composer on every client page - your template library, variables substituted, attachments taken straight from the client's own documents with no download-and-re-upload loop. Replies route back to your own inbox, so clients keep talking to you.

Attach from the client's documents

Pick from the files already on the record. Every attachment is audit-logged.

Harper drafts and re-tones

Ask for a reply to the latest inbound, a chase-up or a softer version of what you wrote. You approve every send.

Isolated and retained

Your inbound address is your firm's alone and the raw message is archived encrypted with its attachments and headers on your firm's own retention setting.

Frequently asked

What actually lands in the Inbox?

Four things merged into one list: your tasks, client messages, your appointments and your notifications. They used to be four screens and one shared sort field that meant four different things, so next month's appointment sat above everything and an undated task sank below year-old mail.

How is the list ordered?

By how much trouble a row is in, not by its timestamp. Each row's own axis - a task's due date, a message's sent date, an appointment's start time - is converted to a band first and the band is the primary sort. Inside a band rows are compared on the axis the band came from, which is meaningful because everything in a band is now the same sort of thing.

Can I work it without the mouse?

Yes. J and K move, Enter opens, X selects and E clears - your whole selection if you made one, otherwise the row under the cursor. Selection lives in the URL, so browser back works and a link to a row still opens that row.

Does the Push toggle actually turn push off?

It does now. For a long time it gated nothing at all. Push consults your preference before it fans out, an org-wide push excludes anyone who muted that class and the last two notifications that bypassed the registry - task assignment and stage changes - go through it like everything else.

Could I switch on a notification that never arrived?

You could and ten of them behaved that way: registered, rendered, with an email template, a preference row and a toggle and no emitter behind any of them. All ten are wired and a source-reading test now fails the moment an event is registered without one. The list of excused events is empty and a second test holds it empty.

How does client mail reach the right person?

Set one forwarding rule on your firm's existing mailbox into your per-firm inbound address. ImmiIQ reads the original sender out of the forwarded headers, matches it to one of your clients and drops the message on their thread - then routes it to the agent who owns that client. Mail that matches nobody waits in Operations for triage rather than disappearing.

What does a member see?

Their own. Every loader honours per-member data scope, so an agent on assigned scope sees their clients' tasks, mail, meetings and notifications and nobody else's. An admin still sees the firm-wide view.

One queue. Four keys. Nothing missed.

Included on every Pro account and on Enterprise. Forward one mailbox and the filing stops being somebody's job.

Inbox - One Ranked Queue for Tasks, Mail, Meetings and Notifications | ImmiIQ