CoPortalDocs

Notifications & app

Notifications & app

CoPortal keeps you and your clients in the loop two ways: branded emails for every key event, and real-time push notifications when you install CoPortal as an app on your phone or desktop.

Install CoPortal as an app

CoPortal is a Progressive Web App (PWA). You can install it directly from the browser — no App Store, no Play Store — and launch it from your Home Screen or desktop like any other app. Once installed, it runs full-screen, loads instantly, and can deliver push notifications even when your browser is closed.

Install on Android or desktop (Chrome / Edge)

  • Open Settings → Notifications in CoPortal — if your browser supports installing, an Install app button will appear at the top.
  • Or use your browser's built-in option: in Chrome / Edge, tap the menu and choose Install app (or Add to Home screen).

Install on iPhone or iPad (Safari)

Apple only allows web push once an app is added to the Home Screen, so this step is required for iOS push notifications.

  • Open CoPortal in Safari (not Chrome — iOS Chrome cannot install PWAs).
  • Tap the Share button, then Add to Home Screen.
  • Open CoPortal from the new icon, sign in, then enable push from Settings → Notifications.
Note: iOS push requires iOS 16.4 or later. Notifications only fire when CoPortal is installed — they will not arrive while you're browsing in Safari.

Push notifications

Push notifications appear on your lock screen and in your system notification centre — the same way Slack, WhatsApp, or Gmail alerts arrive. They're per-device: enable them on your phone, your laptop, or both. Each device shows up under Subscribed devices in your settings so you can see what's active.

Turn on push

  • Open Settings → Notifications.
  • Click Enable push on this device and accept the browser permission prompt.
  • Tick the topics you want to be alerted about (messages, invoice payments, quotes accepted, new leads, etc.).
  • Use Send test to confirm the device is wired up correctly.

What you can be notified about

Workspace push topics include:

  • Messages — new project thread messages from clients or teammates
  • Comments — task discussion comments
  • Mentions — when a teammate @-mentions you in a private note or comment. Push only — never email.
  • Projects — when a new project is created
  • Files — when a file is uploaded to a project
  • Tasks — when a task is marked complete
  • Invoice payments — when an invoice is marked paid or a Paystack payment confirms
  • Quotes — when a client accepts a quote
  • Leads — when a new lead is created or submitted via intake

Push notifications for clients

Clients can also install their portal as an app and enable push from Profile → Notifications. They'll get alerts for new messages from your team, new invoices, quotes awaiting their review, project updates, and shared files. This makes the portal feel as live as a chat app — no email refresh required.

Tip: Push works alongside email — it doesn't replace it. Email stays as the durable record (and the channel that survives lost devices); push is the instant nudge.

Email notifications

Emails are sent via Resend and display your business name, logo, and brand colour. They cover every key event — invoices, payments, proposals, portal access, and reminders.

Email branding

Every email uses your workspace branding from Settings → Branding:

  • Your logo in the email header
  • Your brand colour for buttons and accents
  • Emails are “From” your business name (e.g. “Studio Co via CoPortal”)
  • Reply-to is set to your workspace email address, so client replies come to you
Tip: Upload a horizontal or square logo at least 200px wide. Transparent PNGs work well on white email backgrounds.

All notification events

Invoice sentClientBranded invoice with all line items, totals, due date, bank details, and a Pay now button if Paystack is configured.
Invoice reminderClientOverdue reminder email — tone automatically adjusts based on how overdue the invoice is (see below).
Invoice paid (manual)YouConfirmation when you mark an invoice as paid.
Invoice paid (Paystack)YouNotification when a Paystack payment succeeds.
Payment receiptClientSent when a partial payment or full payment is recorded — confirms amount paid, date, and balance remaining.
Quote sentClientEmail with a link to view and accept the proposal in their portal.
Quote acceptedYouInstant alert when a client clicks Accept on a quote.
Quote expiry reminderClientSent 3 days before a quote expires, prompting the client to accept before it lapses.
Contract sentClientEmail prompting the client to review and sign the contract in their portal.
Contract signedYouAlert when a client completes their e-signature. Both parties get a PDF copy.
Portal inviteClientMagic link so clients can log in to their portal — no password required.
Client messageYouEmail when a client posts a reply in a project message thread.
Intake form submittedYouAlert when someone submits an intake form — includes their details and enquiry summary.
Cancellation requestYou + CoPortalConfirmation when you submit a plan cancellation request.

Overdue invoice reminders

When an invoice is past its due date, CoPortal sends automatic reminder emails at intervals you configure. The tone of each reminder automatically escalates based on how overdue the invoice is:

Reminder tones

1–7 days overdueFriendlyGentle nudge — assumes the payment slipped through the cracks. Warm tone, no pressure.
8–14 days overdueFirmClearer prompt — references the outstanding amount and asks for a payment timeline. Professional but direct.
15+ days overdueFinal noticeUrgent language — clearly communicates this needs immediate action. Stops just short of threatening action.

You can also click Send reminder on any overdue invoice to trigger a manual reminder immediately — it uses the same tone logic based on how overdue it is at that moment.

Configuring reminder intervals

Go to Settings → Invoice & Tax → Payment reminders to set:

  • Enable reminders — toggle on/off globally
  • Reminder days — comma-separated list of days after the due date (e.g. 1,3,7,14)

Reminders stop automatically when the invoice is marked as paid. The nightly cron checks outstanding invoices each day and dispatches any due that day.

Note: The cron runs at 9 AM SAST. Reminders for a day's invoice batch are sent in the morning, not immediately when an invoice becomes overdue.

Quote expiry reminders

When a sent quote has an expiry date set, CoPortal automatically sends the client a reminder 3 days before the quote expires. The email:

  • Shows the quote name, total, and expiry date
  • Includes a link directly to the quote in their portal
  • Is sent once — no repeated reminders beyond the 3-day warning

You can see whether the expiry reminder was sent in the quote detail view. Expiry reminders are only sent if the quote is still in Sent status — accepted, declined, or cancelled quotes do not receive reminders.

Payment receipts

When you record a payment on an invoice (full or partial), the client automatically receives a payment receipt email confirming:

  • Amount paid and date
  • Payment method (EFT, Paystack, cash, etc.)
  • Reference number if provided
  • Total invoice amount, total paid to date, and remaining balance

If the payment completes the invoice (total paid equals invoice total), the receipt confirms the invoice is now fully paid.

Magic link emails

Clients use magic links to log in — no passwords. Magic links are triggered in two ways:

  • You send an invite — from the client detail page, click Invite to portal. A branded welcome email is sent with a login link.
  • Client requests one — from your portal URL, they enter their email and receive a link automatically.

Magic links expire after 1 hour and are single-use. Resend a fresh invite any time — there's no limit.

Email delivery

All emails are sent via Resend using the @coportal.io domain. If a client isn't receiving emails, ask them to:

  • Check their spam or junk folder
  • Search for coportal.io in their inbox
  • Add hello@coportal.io to their contacts or safe senders list