FranNet
Marketing Hub
FranNet Marketing Hub
Your page.
Your story.
Your spotlight.

The home base where FranNet consultants shape their profile, publish, and grow — all in one place.

Craft your profile and positioning
Draft posts, reviews, and updates
Get found in search and AI
© 2026 FranNet · Marketing Hub
FranNet

Welcome back

Sign in to manage your consultant page.

Sign in with Google
Secured by your FranNet Google account

Access is by invitation, using your @frannet.com Google account. No account? Contact marketing@frannet.com to get set up.

FranNet Marketing Hub
🔗

This account isn’t linked to a consultant page

Your login works, but it isn’t connected to a FranNet consultant profile yet. Ask your FranNet admin to link your account to your page, then refresh.

Tips

Your page

0% complete
View my live page ↗
Live preview

My posts & reviews

Everything you’ve submitted, with its moderation status. You can edit or remove your own.

Loading…

Write a blog article

Drafts are sent to FranNet for review before they go live — nothing publishes automatically. Every published post becomes a new page that can rank in search and feed AI answer engines.

We’ll show a short teaser on your page that links to the original. Don’t paste the whole article: when two identical copies exist, Google shows only one and it may pick theirs.

Featured image (optional)
No file chosen
Re-encoded to WebP. The image is added to the top of your draft.

Add a client review

Reviews are moderated before publishing. You must have the client’s permission to share their words. Approved reviews show on your page as proof for the people reading it. (Star ratings in Google search come from your Google Business Profile, so send happy clients to your “Leave a Google review” button too.)

Your reach

Loading…

Support

Get help using your Marketing Hub. Ask the assistant below, or email the FranNet team directly.

Email support@frannet.com

Ask the assistant

Still need a person? Email support@frannet.com.

Playbook

Best practices, approved vendors, and the latest updates from the FranNet marketing team. A reference library to help you get the most out of your page.

Loading…

Loading…

Upcoming appointments

What is booked ahead, in your local time. These are read-only — the team schedules them for you.

Loading…

Waiting on you

A minute each. Your notes are what move a meeting from held to counted.

Loading…

Recently recorded

What you have already told us. If one of these is wrong, you can ask us to change it — say what happened and it goes to the FranNet team.

Loading…

Your disputes

Meetings you flagged for review. A flagged meeting is held out of billing until the FranNet team decides.

FranNet Pay Per Appointment

Enroll in an appointment package

Booked-and-showed appointments, delivered to you. You pay only for meetings that actually happen.

  1. 1 Confirm
  2. 2 Package
  3. 3 How it works
  4. 4 Review

Confirm your details

You are signed in, so we use your FranNet account. No retyping your name and email.

Enrolling as …

Choose your package

Enrollment type

How the program works

After each appointment you will record what happened right here in the Hub. Four things to know:

You can revisit this anytime under Playbook.

Review and confirm

Acknowledgments (all five required)

Loading…

My PPA packages

Loading…

Pending approval

Blog articles and client reviews consultants submitted, waiting for review. Approve to publish, or reject to send it back for changes (the consultant is emailed).

Loading…

System readiness

Configuration and background jobs

Whether each operational setting is configured, and when the daily background job last ran — checkable here without opening the Render dashboard. Shows only whether a secret is set, never its value.

Loading…

Add a Consultant

Provision a new account

Consultants

Playbook

Best-practice articles, approved vendors, and updates. Consultants see published entries only. Entries carry markdown and images; the six-month view and the tips bar are the short version of this deeper guidance.

Loading…

PPA packages

Every PPA enrollment, newest first. A red marker means a notice failed to send — use Resend. Check Billed once accounting has handled it (unbilled packages over 48h alert the team and appear in the daily digest).

Loading…

PPA go-live

One-time import and webhook setup

One-time setup: import the historical packages and meetings, compare the Hub's numbers to the tracker, then register the Calendly webhook. Dry run first — it writes nothing. The CSVs stay in memory and are never saved to disk.

1 · History import

2 · Calendly webhook

Needs CALENDLY_TOKEN set in Render first. Registers one org subscription for invitee.created / invitee.canceled; re-running is safe.

Rollback

If a commit was wrong, delete exactly its batch. The test package and any live bookings are never touched.

Calendly seats

The roster’s Calendly address is an assertion nobody has checked. Bookings attach by an exact match on it, so one wrong character means that consultant’s meetings arrive attached to nobody. Read-only — nothing here sends an invitation or edits an address.

Press “Check now” to compare against Calendly.

Availability engine

How many more bookings each consultant can still absorb: bookings needed = remaining ÷ conversion rate, minus what is already booked ahead. The rate is derived from live data on a rolling window, never hardcoded. Recomputed on every read — nothing here is cached, because a meeting’s time passing changes the answer and fires no event.

Loading…

Recent decisions

Every trigger, what it decided, and whether anything was written. In shadow mode nothing is ever written — that is the evidence, not a fault.

Answer corrections

A consultant has asked to change an answer they already gave. Only a Yes → No needs this — it gives back an appointment already billed.

Loading…

Dispute queue

Pending disputes first. Approve to remove the appointment from billable, or reject to keep it. Both are logged with your name. The 30 imported disputes appear here to clear.

Loading…

PPA program

Every package with the engine's live numbers: booked, billable used, under review, remaining, % used, status, and billed state. Filter by status or consultant.

Loading…

All meetings

Every appointment across the program. Filter by feedback state, consultant, and date. Click a row to correct its feedback (attributed to you) — the escape hatch for imported-data anomalies.

Loading…

Reconciliation

Every package exactly as the Hub's engine computes it. Green means nothing is internally adrift — every Calendly host maps to a consultant, and every meeting is assigned to a package. It does not mean the Hub agrees with the tracker sheet. That comparison reads the sheet's own Status column and happens only at import time, under PPA go-live → Dry run; to re-check agreement, re-export the CSVs and dry-run again.

Loading…

Roster & seats

Each consultant's Calendly seat, pause state, and monthly booking cap. Unmatched Calendly hosts appear at the bottom — map one to a consultant to assign its meetings.

Loading…

Audit log

Roster status

Who has activated, who has completed their core page, and who has not started yet. Completeness comes from the latest daily snapshot.

Loading…

Activity feed

Every logged action across all consultants, newest first.

Loading…

Nudges

Send yourself a sample nudge to check it, see the ledger of what has sent, and dry-run what the next daily run would send right now. Two nudge types: the finish-setup reminder (incomplete pages) and the six-month page review (item 2).

Loading…