When I took over growth and operations at Etlala, a remote agency serving e-commerce brands in Saudi Arabia, the tools were not the problem. Each one worked. The problem was the gaps between them.
A lead would arrive from a Snapchat or TikTok ad, land in WhatsApp, and wait. Someone had to notice it, copy it into the CRM, decide which sales rep should take it, and tell that rep. Every one of those steps depended on a person being online and paying attention. On a busy day, the first reply could come hours after the click that created the lead.
So I set one rule for the rebuild: a lead should never wait for a human to move it to the next step. People should talk to clients. Systems should do the moving.
Why I left HubSpot
HubSpot is a good product. For a small agency, though, it had two problems. The features we needed most, like automated lead rotation, sat behind paid tiers, and the cost grew with every seat we added to a growing team. We were paying for a large platform and using a small part of it.
We already had hosting with Hostinger for the company website, with room for subdomains. That changed the question from "which SaaS should we buy?" to "what can we run ourselves?"
The stack
Everything runs on one hosting account, each tool on its own subdomain:
- WordPress for the company website and blog, where most leads start.
- Krayin CRM, an open-source CRM, self-hosted on
crm., replacing HubSpot. - Cal.com for meeting booking, linked from the website and from ad landing pages.
- Leantime as a client portal on
portal., so clients see project status without asking for updates. - Zoho Books for invoicing and accounting.
None of these is unusual on its own. The value is in how they hand work to each other.
The client journey, step by step
This is the path a new lead takes now:
- Ad. A campaign on Meta, TikTok or Snapchat sends the person to the website or straight to a booking page.
- Booking. They pick a time in Cal.com. No back-and-forth over WhatsApp to find a slot.
- Instant confirmation. They get an email and a WhatsApp confirmation right away, so the first touch happens in seconds, not hours.
- Automatic CRM entry. The lead is created in Krayin with its source attached, so we know which campaign it came from.
- Round-robin assignment. The CRM assigns the lead to the next sales rep in rotation. Nobody decides who gets the "good" leads, and nobody gets skipped.
- Follow-up. The assigned rep owns the conversation from there, with the full history in one place.
Round-robin sounds like a small detail. In practice it removed the most common source of friction on the sales team: arguments about fairness, and leads that sat unassigned because everyone assumed someone else had them.
What I learned building it
1. Design the handoffs before you pick the tools
I drew the journey first, every step from ad click to first meeting, and marked each place where a person had to act for the lead to move. Those marks were the real requirements. The tool choices came after.
2. Self-hosting trades money for responsibility
Self-hosted tools cost less in subscriptions, but you own the updates, the backups and the moments when something breaks. For a small team that is a fair trade only if someone understands the setup. Keep it documented, and keep it boring: fewer custom pieces mean fewer surprises.
3. Speed to first response is an operations metric, not a sales metric
We set a 15-minute response standard for the team. A standard alone does not make people faster. What made it achievable was removing the manual steps that came before the rep ever saw the lead.
4. Attribution has to be captured at the start
If the source is not attached when the lead is created, it is gone. Capturing the campaign at entry is what lets us tell clients, and ourselves, which ads produce meetings and not only clicks.
The result
We pay less for software, and nobody routes leads by hand anymore. More important for me, the system no longer depends on a specific person being awake. A lead that arrives at midnight gets the same confirmation and the same fair assignment as one that arrives at noon.
If you run a small agency or an e-commerce team, the question to start with is not "which CRM?" It is "where does a lead wait for a person?" Remove those waits first. The tools follow.
About the author
I'm Ahmed Tarek, a Growth & Operations Manager with 6+ years across marketing, sales and operations in the GCC market. I'm open to roles in the UAE and internationally.
