Client Automation Portal

Invite clients, verify access, and keep every workspace separate.

This version is built around a tighter workflow: one administrator manages client accounts, invited users verify their email through a setup link, and each client only sees their own dashboard and tools.

PHP 8 ready MySQL / MariaDB schema included Invite + verification workflow enabled
Admin Control One account manages all clients

jacobr1410@gmail.com can invite users and edit their account details.

Client Access Invite, verify, set password

Clients receive an email link, confirm access, choose a password, and only see their own workspace.

Live Tool CSV sorter included

Upload a spreadsheet export, sort by a header or column index, and download the cleaned file instantly.

What This Build Covers

A practical first version, not just a mockup.

The app is structured so you can deploy it on shared hosting now and still grow into deeper Google integrations later.

01

Invite-Only Access

Public self-registration is removed for clients. Access is granted by an administrator.

02

Admin and Client Roles

Admins can manage all users. Clients are restricted to their own account and workspace data.

03

Minimal Dashboard

The dashboard is stripped down to the essential workflow: invite, review accounts, and open tools.

OAuth Reality

About the "fallback" when OAuth expires.

A true silent fallback only exists if you keep a valid refresh token, or if the client data can be accessed through a Google Workspace service account. If a refresh token is revoked, expired from policy, or invalidated by the client, the only safe fallback is to pause the automation and require reconnect.

  • Use offline access and store refresh tokens per client.
  • Track token expiry, refresh failures, and reconnect instructions.
  • Use service accounts where the client's Workspace allows delegated access.
Recommended Stack

Why PHP + MySQL for this version

Shared hosting is the main constraint. PHP and MySQL are the least risky deployment path, and they are enough for auth, dashboards, client records, cron-driven jobs, and later Google API integration.