A trial portal turned into a 30-user CRM the whole company actually uses.
A 30-seat HubSpot CRM implementation for a corporate uniform supplier: Microsoft 365 email logging, a contract pipeline in ZAR, role-based permissions and a reporting dashboard.
Start a similar project- Client
- Uniform Supply Group
- Industry
- Corporate uniform supply & distribution
- Service
- HubSpot CRM Setup & Automation
- Location
- South Africa
- Timeline
- 2026
What the client was dealing with.
The client had explored HubSpot personally on two free seats but had never rolled it out. The company needed a working system for around 30 people, not a sandbox.
They explicitly did not want a complex automation build. The brief was a simple, organised CRM that logs everyone's email against the right company and customer.
Users fell into five roles — administrator, director, key account manager, customer service agent and sales administrator — but everyone needed visibility of all customer records, so permissions had to be role-aware without being restrictive.
Contracts had to be tracked in ZAR, with value, status, dates, owner and the associated company on every record.
After go-live, only the admin's contacts appeared in the CRM. Colleagues had connected their Microsoft 365 mailboxes and still saw nothing sync.
Internal email threads that discuss a customer without the customer on the thread do not associate automatically — the team needed a practical workflow for that.
How we worked through it.
Consultation before configuration
A 26-minute working call walked through the trial portal live, so the scope was written against what already existed instead of a generic CRM checklist. The proposal was fixed-price with a clear list of inclusions and exclusions.
Roles first, then records
The five job roles were mapped to HubSpot permission sets and teams before any data work started, so ownership, saved views and dashboards could be assigned by role rather than person by person.
Deliberately simple
No automated email sequences, no lead scoring, no lifecycle theatre. A single contract pipeline, clean properties and reliable association rules — because an unused complex CRM is worth less than a simple one everyone logs into.
Microsoft 365 done properly
Mailbox connections handle logging of future email. The existing address book is a separate job: the Outlook Contacts integration was enabled at portal level and installed per user, which is what actually pulls historic contacts in.
Diagnosing the sync gap honestly
When only the admin's contacts appeared, the first answer — connect the personal mailbox — was already done. Rather than sending the team off to a CSV import, we traced it to the Outlook Contacts app being disabled for the remaining seats and enabled it.
A workflow for internal threads
HubSpot cannot infer which customer an internal thread is about when the customer is not a recipient. We documented and tested manual association from the email record, so internal discussion still lands on the right company timeline.
Currency and reporting
ZAR was set as the company currency so contract values report correctly, and a dashboard was built around pipeline value, contract status, owner activity and customer coverage.
- HubSpot CRM configured and tested for approximately 30 seats, rolled out in waves as users accepted invites
- Contacts and Companies with the properties, views and ownership rules the team uses daily
- Automatic contact-to-company association verified against real records
- Microsoft 365 mailbox connections with email logging on the correct company and contact records
- Outlook Contacts integration enabled portal-wide and installed per user so historic contacts sync without CSV imports
- Permission sets for administrator, director, key account manager, customer service agent and sales administrator
- A single contract/deal pipeline covering opportunity through completion
- Contract records carrying value, status, key dates, owner and associated company
- ZAR configured as the deal currency
- A reporting dashboard covering pipeline, contract status and team activity
- Simplified navigation so day-to-day users see only what they need
- Signed NDA, full testing and a live training/handover session
- HubSpot CRM configuration for approximately 30 users
- Contacts and Companies structured for prospects and existing customers
- Properties, saved views, record ownership and user permissions
- Automatic contact-to-company association, configured and tested
- Microsoft 365 mailbox connections and email logging against CRM records
- Outlook Contacts sync enabled and rolled out per user
- A simple contract/deal pipeline from opportunity to completion
- South African Rand (ZAR) as the deal currency
- Reporting dashboard with the metrics leadership actually reviews
- Interface and navigation simplification for daily use
- Full testing plus a training and handover session
“We are not looking for a complex system with automated emails — we would just like a simple system that syncs everyone's emails and stores it under the correct company.”
The HubSpot services behind this project
Need something like this in HubSpot?
Tell us what exists today and where you want it to go. We audit first, then quote hours with a not-to-exceed number.