Skip to content

Solar Customer Portals: Connect HubSpot Milestones With Supabase Customer Access

Share verified solar project milestones through a customer portal with explicit site access and status ownership.

Author
Ruben Burdin · Founder & CEO
Published
Read time
5 min read
Solar Customer Portals: Connect HubSpot Milestones With Supabase Customer Access
DATA ENGINEERING

The operating decision

A solar customer portal can use HubSpot–Supabase two-way sync to share selected project milestones and receive customer responses. Keep each milestone's source, verified status and update time visible, and distinguish estimates from confirmed events. The portal must enforce its own user-to-project access through grants and row policies. CRM association alone does not authorize a user to see all projects, documents or customer records in the database.

Explore the complete solar installation and O&M services integration and automation hub for the systems and processes around this guide.

Summary card: HubSpot Supabase sync for solar customer portal milestones

What this looks like in solar installation and O&M services

An installer provides a portal for commercial customers tracking several rooftop projects. HubSpot holds relationship and project communication fields; Supabase serves the portal. One customer user manages all locations while another handles a single building. A projected installation window changes, and the account team needs to update the portal without implying that a final schedule was confirmed. Customer access and milestone meaning are equally important to making the shared data useful.

Records, ownership, and update rules

RecordOwnerOperating rule
Project membershipPortal administratorAuthorize a user for the specific projects and sites they may access.
Milestone definitionProject operationsSpecify what event the customer-facing status actually represents.
Verified milestone stateOwning project teamPublish source reference and time separately from forecast dates.
Customer responseCustomer serviceCapture a request or acknowledgement without changing the official project state automatically.
Record ownership diagram: Project membership, Milestone definition, Verified milestone state
Define the record owner and the rule before enabling updates.

Work through the process

  1. 01
    Define customer-facing milestones
    Select the events that help the customer understand progress and required actions. Give each a plain-language meaning and distinguish planned, awaiting evidence and confirmed states. Avoid exposing internal workflow labels that customers could interpret as a promise or formal approval.
  2. 02
    Map project identity and relationships
    Use stable project and site keys to join HubSpot context to portal rows. A company can have multiple installations with different contacts and dates. Keep those relationships explicit so a change to one project does not update every project owned by the same customer.
  3. 03
    Separate forecasts from confirmed events
    Store the estimated date and actual verified event in distinct fields. Include the update time and relevant customer action. A schedule forecast should not become a completed milestone simply because its date has passed; the owning operational record must supply the confirmation.
  4. 04
    Enforce portal access
    Use Supabase grants and row policies for the approved project memberships, and test both allowed and denied access. Keep connection secrets server-side. Syncing the right milestone into a table is insufficient if a user can query another customer's rows or documents.
  5. 05
    Handle customer submissions as requests
    If the customer updates an access contact, uploads a document or asks to change a date, record that action with its source and time. Route it to the responsible team before changing finance-owned or operations-owned fields. Return a clear received or confirmed state so the customer knows whether the request has been accepted.
  6. 06
    Keep uploaded evidence separate from its acceptance
    A customer uploading a required document establishes receipt of a file, not that the document is complete or accepted by the project team. Show received, under review and accepted states where useful. If a reviewer rejects it, provide the specific missing information through the approved customer-facing message. This gives the portal a clear feedback loop without letting file presence alone advance a milestone that depends on a substantive decision.
6-step operating sequence: HubSpot Supabase sync for solar customer portal milestones
Follow the operating sequence; unresolved exceptions return to a responsible reviewer.

Handle the exceptions explicitly

User belongs to several project teams

Grant explicit memberships and show only the approved scope for each role.

Forecast date passes without confirmation

Keep the milestone unconfirmed and route the stale forecast to its owner.

Customer requests a schedule change

Store the request separately until operations confirms the revised commitment.

What to verify before expanding

  • Forecasts and completed milestones are visibly different.
  • A user cannot read another customer's projects.
  • Customer requests do not overwrite confirmed operational state.
  • Every published milestone includes the correct project and update time.
Book a demo for solar installation and O&M services integration and automation

Connect this process to the rest of your operation

Explore Stacksync two-way sync and scope the records and actions against your actual systems. Book a demo with a real project membership example and the exception your team handles most often, for example user belongs to several project teams.

The shared architecture guide covers record matching, ownership, and recovery across systems.

Technical references

Book a demo for solar installation and O&M services integration and automation

FAQ

Frequently asked questions

Does two-way sync manage portal authentication?
No. The sync connects approved records. Authentication, membership and row authorization are separate application responsibilities.
Can a customer correct a contact detail through the portal?
Yes, if that field is explicitly allowed and validated. Treat changes with broader commercial or access consequences as reviewed requests rather than unrestricted edits.
What should the product team test first?
Test two customers, a user with access to only one site, a delayed milestone and a rejected customer request. These cases show whether the portal communicates both access and operational state correctly.

About the author

Ruben Burdin
Ruben Burdin
Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

All posts by Ruben Burdin

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Coworkers laughing in front of a laptop in a casual office setting

You just read how it should work.
See it run on your own data.