Skip to main content
itzseo
Phase 37 · Differentiator

Reminders your clients
can request.

Personal reminders + recurring + snooze. Plus a client portal request form with two-way date negotiation. Multi-channel notifications. Quiet hours. SLA badges. The reminder system every other todo tool is missing.

Personal reminders on all tiers. Client-initiated requests unlock on Growth.

What makes this different

Every other todo tool is owner-creates-only.

Asana, ClickUp, Monday, Linear, Todoist — every reminder is created by someone with an account. ItzSEO is the only one where your client can submit a reminder request, and you negotiate the date back.

The two-way negotiation flow:

  1. Client submits a request at /projects/[id]/portal/request (no login)
  2. You see it in /reminders. Accept the date or counter-propose with a message.
  3. Client sees your counter at /portal/requests/[id]. Accepts or counter-proposes back.
  4. Once accepted, the reminder activates. Notifications fire per workspace SLA.
Personal reminders

The basics. Done right.

Before the differentiator stuff, the boring stuff works well too.

Today / Upcoming / Snoozed / Done

Four-tab interface at /reminders. Bell icon in the sidebar shows due-today + overdue count. Snooze any reminder to a specific date or relative (+1d / +1w).

Recurrence

One-off, daily, weekly, monthly. Recurring reminders spawn the next instance after the current one is marked done — no zombie reminders piling up.

Project + description

Optional project tag for cross-project context. Long-form description with markdown support. Comments thread for collaboration on the reminder.

Morning digest

08:00 local time — a single email with all reminders due today. Suppressed if you have zero. Configurable per workspace.

Day-of + overdue

10:00 local time on the due day. Overdue cron fires every 24h after due. Both respect quiet hours.

Quiet hours

Set a time range (e.g., 22:00–07:00). No emails inside that window. Validated start ≠ end. Per-user setting, not workspace-wide.

Client portal requests

A form. A negotiation. Done.

The killer feature. Your clients can request things with a desired date — and you decide.

1Client

Opens /projects/[id]/portal/request. Fills in: title (“Update Q4 landing copy”) + desired date (“Nov 30”) + description + their email. Submit.

2System

Creates a Reminder with source: CLIENT, status: PENDING_REVIEW. Logs in activity feed. Emails the project owner. Adds an entry to /reminders for you.

3You (owner)

Click the reminder → see the timeline. Two actions: Accept date (becomes active) or Counter-propose with a different date + message.

4Client

Sees your counter at /portal/requests/[id]. Accepts your date (reminder activates) or counter-proposes back with another date + message.

5Both

Once accepted, the reminder activates. Notifications fire per workspace SLA. Full negotiation timeline preserved as audit trail.

Why this matters: Most agency-client interactions about “please do X by Y” live in email threads that nobody finds again. Putting it in a tracked reminder with explicit accept/counter-propose semantics means the request is on the record — both for delivery and for client disputes about what was agreed.
Multi-channel notifications

Three channels. Configurable per type.

Email

Morning digest (08:00). Day-of (10:00 on due day). Overdue (24h after due). Quiet-hours respected. Configurable per-user toggles.

Sidebar bell

Always-visible badge in the sidebar. Counts due-today + overdue. One-click jump to /reminders. No notification fatigue.

In-app activity

Every reminder event (create / counter / accept / done) shows in the workspace activity feed. Audit trail without separate logging.

Web Push (browser notifications) deferred to a future phase. Slack/Discord webhooks on the roadmap.

SLA badges (Phase 37.5)

Response time badges.

Reminders auto-tag based on how fast you respond. Useful for managers running an agency support queue.

Within SLA

Responded within the workspace SLA window

At risk

Approaching SLA breach — visible to manager

Overdue

SLA breached — surfaced to /reminders Overdue tab

SLA windows configurable at /settings/workflow-sla. Defaults reasonable for SEO agencies (4h response, 2-day resolve).

Comparison

vs other reminder tools.

ItzSEOAsanaClickUpTodoist
Personal reminders
Recurring + snooze
Client-initiated requests
Two-way date negotiation
Multi-channel notifications
Quiet hoursLimitedLimited
SLA tracking + badgesCustom fieldCustom field
Built into SEO workspace
FAQ

Reminders questions.

Do clients need a login to submit a request?
No. The portal request page is public, accessed via a tokenized link you share. They submit title + desired date + description + their email. No account creation. No friction. The whole point is to be lower-friction than email.
What's the difference between a reminder and a task?
Tasks live inside a project, have an assignee, fit a kanban workflow, get scoped by department. Reminders are lighter — personal nudges + client requests + cross-project deadlines. They're for ‘don't forget’ rather than ‘here's a work unit’. The two are intentionally different surfaces.
Can a recurring reminder skip a week?
Yes. Snooze a recurring instance — that one instance moves; the recurrence pattern continues from the original schedule. No cascading impact on future instances.
What happens if I'm on quiet hours when a reminder fires?
The notification queues until quiet hours end, then sends as a batched digest. Overdue cron tries again 24h later — if still in quiet hours, still queues. No notification ever fires inside your quiet window.
Can clients see my workspace reminders?
No. Workspace reminders are private to you and your team. Clients only see the requests they submitted (and your responses) at /portal/requests/[id]. There's a firewall between internal and client-facing reminders.
What if a client submits a spam request?
The portal request form rate-limits per IP + per email. You can also disable client requests per-project via the acceptsClientReminders toggle in /projects/[id]/settings. Stale unaccepted requests auto-archive after 14 days.
Can I email-to-reminder?
Not in v1. Email-in is on the roadmap — forward an email to a unique workspace address and it creates a reminder. Currently you have to use the UI or API.

Let clients ask.
Decide the date together.

14-day trial. Turn on client requests for one project and see how it feels.