Help center
How to use Phloz, end to end. Can't find what you need? Contact support.
Getting started
Create your workspace
Sign up at app.phloz.com/signup with email + password, Google, or a magic link. On first login Phloz asks for a workspace name (your agency's name) and auto-suggests a slug. The slug is part of the URL until you switch to a custom domain — pick something short.
Every workspace starts on the free Starter tier (one active client, two seats). Upgrade anytime from Settings → Billing — proration is automatic.
Invite team members
From /[workspace]/team click Invite member. Pick a role (see roles), enter the email, and optionally pre-assign clients (only meaningful when your workspace policy is "Restricted by assignment"). The invitee gets a magic link valid for 7 days. Owners + admins can resend or revoke from the same page.
Add your first client
From /[workspace]/clients click Add client. The form asks for the business name + a few optional fields (industry, budget, target CPA, geo targeting). Most fields are editable later from the client's overview tab.
Each client gets a unique inbound email address (e.g. client-xyz@inbound.phloz.com) — copy it from the client header to forward emails into the messages thread.
Roles & what they can do
Four roles, broadest to narrowest:
- Owner — sees everything, edits billing, transfers ownership. One per workspace.
- Admin — invites + removes members, manages clients + groups + departments + access grants. Cannot edit billing or transfer ownership.
- Member — sees only assigned clients (unless the workspace opts everyone in). Can edit tasks, messages, the tracking map for their assigned clients.
- Viewer— read-only on assigned clients. Can comment but can't mutate anything else. Doesn't count against the seat cap.
Clients
Client groups
Group clients into portfolios for big books of business ("Acquisition", "Retention", "Enterprise"). Each client lives in at most one group. Manage groups at /[workspace]/clients/groups — owner + admin only.
Groups become powerful when paired with departments: assign "SEO Team" to the "Acquisition" group and every client in that group is visible to every SEO teammate, automatically.
Archive vs delete a client
Archive (don't delete) when an engagement ends. Archived clients keep all their data — tasks, messages, the tracking map, files — but stop counting against your tier's active-client cap. Restore later from the clients list with the "Archived" status filter.
Bulk-archive dormant clients (no activity in 60+ days) from the clients-list header. Owners + admins only.
Email-to-client thread
Every client has a unique address like client-[id]@inbound.phloz.com. Forwarding an email to that address creates a message in the client's thread, attributed to the matching contact (if the from-address matches a client_contacts.email) or to "system" otherwise.
Sent messages go out from the agency's configured Resend domain (phloz.com by default). Replies route back into the same thread.
Client portal
Mark a contact's portal_accesson and Phloz emails them a magic link valid for 7 days. They land on a read-only portal showing only their company: messages they can reply to, public tasks they can comment on, files you've shared. No pricing, no other clients, no internal notes.
Portal users don't count against your seat cap and are unlimited on every paid tier.
Team
Departments
Group team members by discipline ("PPC", "SEO", "Social", "Account Management"). Members can sit in multiple departments — supervisors and generalists belong everywhere they help. Manage from /[workspace]/team (owner + admin only).
Assigning a department to a client (or to a client group) gives every member of that department visibility — adding a new SEO hire grants them access to every SEO-assigned client automatically.
Who can see what
Two policies, set per workspace:
- Everyone sees everything (default) — every member sees every client. Owners + admins always do.
- Restricted by assignment— members and viewers see only clients they've been granted access to.
Under "Restricted", four assignment paths give access (any one is enough): direct member→client, member→client-group, department→client, or department→client-group. Manage from the per-member dialog on the Team page or the Access tab on a client.
Tasks
Creating + tracking tasks
Tasks live at the workspace level (visible at /[workspace]/tasks) or scoped to a client (Tasks tab on the client detail page). Every task has a priority, status, department tag, and visibility (internal vs. client-visible).
Public tasks (visibility = client_visible) show up in the client portal where the client can comment + see status. Internal tasks stay agency-only.
Subtasks
Open any task → subtasks section in the dialog. Drag the grip handle to reorder, or focus a row and use ⌘↑ / ⌘↓ (Ctrl on Windows). Subtasks are checklist items only — no individual due dates or assignees.
Recurring task templates
Manage at /[workspace]/tasks/recurring. Templates fire daily, weekly, or monthly at 6 AM in the workspace timezone, spawning a fresh task each time. Useful for monthly check-ins, weekly reports, daily standups.
Tier-gated: starter 2, pro 25, growth 75, business 250, scale 750, enterprise unlimited. Disabled templates still count.
Calendar view
/[workspace]/tasks/calendarrenders every task with a due date as pills on a month grid. Drag a pill onto a different cell to reschedule — preserves the task's time-of-day, optimistically updates locally, and reverts + toasts on server error. Click a pill to open it in the list view's detail dialog.
Switch between month and week with ?view=week on the URL or the top-right toggle.
Saved views
On the tasks list, set filters / sort, click Save view, give it a name. Re-applies with one click later. Star a view to make it the default when you visit bare /tasks. Optionally share with the workspace so teammates can use it.
Messages & mentions
Internal notes vs client messages
Messages tab on a client has two compose modes: an email mode that sends to the client and internal note mode that stays agency-only. Toggle at the top of the composer.
Internal notes support@-mentions; mentioned teammates get an in-app + email notification.
@-mentions
Type @ in any task comment or internal-note composer to summon an autocomplete of workspace members. Pick one and the mention chip lands in your text.
Mentioned-me inbox at /[workspace]/mentionsshows every place you've been tagged across tasks + messages. The sidebar badge counts new mentions since you last visited that page.
Messages-inbox keyboard nav
In /[workspace]/messages: j / k to step through threads, Enter to open the focused row. Hold ? anywhere to see every shortcut.
Reply drafts auto-save
Long replies persist to localStorageon every keystroke (per workspace, per client, per compose-mode). Closing the tab won't lose the draft. Sending or hitting Clear wipes it.
Tracking infrastructure map
What is the map
Each client has a canvas of their tracking infrastructure: GTM containers, GA4 properties, ads accounts, pixels, CAPI endpoints, server endpoints. Nodes connect with edges ("sends events to", "fires pixel", etc.) so you can see the data flow at a glance.
Open the Map tab on a client. n creates a new node, c enters connect mode, Del deletes selected, / opens search.
Node health + audit engine
Mark a node working / broken / missing / unverified from its drawer.last_verified_at timestamps so you can see who last looked at a pixel.
The audit engine runs on every dashboard render + a weekly Inngest cron (Mondays 08:00 UTC), surfacing critical / warning findings. The Audit tab on a client shows the live triage list + a history sparkline of the last 8 weekly snapshots.
Notifications
Per-event preferences
Settings → Notifications. Toggle per event: task assignment, task @mention, inbound client email, task approval, recurring task spawn. Off = no email, in-app still records.
Vacation mode
Settings → Notifications → set a paused-until date. Phloz silences every email until then. A persistent banner on every page reminds you the pause is on; one click cancels.
Mute a client or task
The mute button on a client header silences notifications from that client only. Same on a task header silences just that task. Useful for clients you're hand-off from but still observing.
Daily digest
Members get a 9 AM workspace-local digest summarizing their assigned tasks. Owners + admins get the workspace-wide picture (overdue, unreplied messages, audit rollup). Toggle from Settings; pick a custom hour from 6 AM – 10 PM workspace-local.
Billing
How active clients are counted
A client counts against your tier if BOTH:
- It's not archived (
archived_atis NULL), AND - It was created OR had any activity (task, message, file, comment, tracking-map edit) within the last 60 days.
Archive dormant clients to free slots. Re-activate later by editing — only one unarchive per client per 30 days.
Upgrade / downgrade
Settings → Billing → Change plan. Stripe opens for checkout (upgrades) or the customer portal (downgrades). Upgrades prorate immediately. Downgrades are blocked if your current usage exceeds the lower tier's caps — Phloz tells you exactly how many clients or seats to remove first.
Seats
Owner / admin / member roles count as paid seats; viewers don't. Each tier includes a baseline (Starter 2, Pro 5, Growth 8, Business 15, Scale 30). Extra seats are a per-month charge that varies by tier — the lower you go, the more each seat costs.
Annual vs monthly
Annual plans save roughly 17% (two months free) and bill once per year. Switch from monthly to annual any time from Settings → Billing — the prorate gives credit for the unused month.
FAQ
Is there a free trial?
Yes — 14 days on any paid plan, no credit card. Starter is free forever for one client.
Do client portal users cost extra?
No. Portal access is free and unlimited on every paid tier. Only internal team members (owner / admin / member) count toward your seat cap.
Can I export my data?
Clients + tasks export as CSV from each list's Export button. Full workspace export (messages, tracking map JSON) is on the roadmap; reach out via support if you need it sooner.
How is my data isolated?
Postgres row-level security on every tenant table. Every row carries a workspace_id; policies enforce workspace_id = auth.jwt()->>'workspace_id' for every read + write. We can't see your data cross-tenant; neither can anyone else on Phloz.
How do I delete my workspace?
Owner-only. Settings → Workspace → Delete workspace. Cascade-deletes every client, task, message, and tracking node within. The Stripe subscription cancels immediately. There's no recovery — export first if you need a copy.