Blog
A small sales team lives or dies by how fast it follows up. Text a lead while they are still interested and you get a reply; wait a day and the lead has moved on. The team behind JEMs CRM already understood that. Their problem was that the tool they used to send those texts belonged to someone else, and that access could disappear overnight.
JEMs CRM is a private web app that lets a small sales team send bulk SMS to leads stored in Close CRM. A staff member picks a Close Smart View, such as initial outreach or follow-up, chooses one of their Close SMS templates, previews the leads with details like their last activity date, and sends. Messages go out through Close’s own built-in SMS line, fifteen at a time, so every text is logged against the lead in Close exactly as if a person had typed it.
Put simply, the app turns a slow manual chore into one decision. Pick a Smart View, pick a template, and fifteen leads are texted in a single click, then an autopilot repeats that every fifteen minutes through business hours. The team owns the code, runs it on their own domain, and no longer depends on anyone keeping a login active.
The team had a workflow that worked, but it ran on a former business coach’s server. Rebuilding it as something the business owns meant pinning down exactly what the outreach had to do, and what rules it had to respect so the phone line stayed safe.
A staff member logs in and opens the bulk SMS page. The first drop-down lists their Close Smart Views, the second lists their Close SMS templates, and the page shows a preview of the message beside the leads it will reach. Making that one page read Smart Views, templates, and lead activity reliably from Close, then send in controlled batches, is the substance of the custom Drupal development company work behind the app. A send runs in a set order:
For hands-off outreach, the autopilot sends fifteen texts every fifteen minutes inside a set window. Staff choose the start and end time, pick which weekdays it runs on, and can disable a single day or the whole schedule in a click. An admin creates staff logins in a simple panel, connects the Close API key once, and a reports view shows how many messages went out by day or week.
JEMs CRM is a custom Drupal application that sits between the staff and the Close CRM API. The hard part was never the single page. It was reading Smart Views and templates reliably from Close, sending in controlled batches, and running a scheduler on shared hosting that keeps going without anyone watching.
The piece worth engineering carefully was the join between the scheduler and the live Close account. Batches that respect the limit, a queue that recovers on its own, and a cron window that fires in the client’s own time zone are what let the team trust an autopilot to text leads while nobody is looking.
The original page belonged to someone else, so only its screens and behaviour were visible. The workflow was mapped from the live page and the Close API documentation, then rebuilt from scratch, keeping what the team relied on and adding scheduling and reports. Testing was its own problem: Close protects logins with one-time codes and the texts are real, so testing used dedicated test leads and a test Smart View, sending to the team’s own numbers and always inside the fifteen-per-fifteen-minutes limit, so no real lead was ever contacted by mistake. The client’s first choice of hosting could not run custom PHP or background jobs, so suitable shared hosting was recommended, the existing domain pointed to it, and cron and the queue set up so the autopilot runs reliably. Soon after go-live, direct sends paused because the background queue had stopped on the server; it was restarted, put under supervision so it recovers automatically, and the fix was covered by the post-launch support period.
That pattern of owning the system rather than renting it is what SaaS and startup sales teams need most, because an outreach engine that someone else can switch off is a business risk, not an asset.
The team now has a bulk SMS tool it fully owns, deployed live on its own domain and hosting since August 2024, with both milestones approved and a review left after go-live. Staff pick a Smart View and a template and text fifteen leads in one click; autopilot repeats it through business hours; every text is logged in Close against its lead; and the sending limit protects the phone line whether a person or the scheduler is sending. Outreach that used to depend on a third party now runs on code the business controls.
The build works because it was designed for reliability and ownership, not just to copy a page. If you are planning something similar, you can hire Drupal developers who have built this Close-to-SMS pipeline on shared hosting, or tell us about your CRM workflow and we will map your Smart Views and sending rules to a tool you own outright.
What does JEMs CRM do?
It is a private Drupal web app that sends bulk SMS to leads stored in Close CRM. Staff pick a Close Smart View and an SMS template, preview the leads, and send fifteen texts in one click through Close’s built-in SMS, with every message logged against the lead in Close.
Why build it on Drupal instead of using the existing tool?
The original tool belonged to an outside party who could remove access at any time. Rebuilding it as a custom Drupal application on the client’s own domain and hosting means the business owns the code and its outreach no longer depends on anyone else keeping a login active.
How does the sending limit protect the phone number?
Both manual and autopilot sends are capped at fifteen texts per batch, with a fifteen-minute gap before the next batch. That pace keeps the line from being flagged for spam and makes sending predictable, no matter how large the Smart View is.
How does the autopilot work?
The autopilot sends fifteen texts every fifteen minutes inside a set time window on chosen weekdays, driven by Drupal’s Queue API and cron. Staff set the start and end times, pick the days, and can disable a single day or pause the whole schedule whenever they want.
Does every text still appear in Close?
Yes. Messages go out through Close’s own built-in SMS using the team’s existing numbers, so each text is recorded on the lead in Close. That keeps the team’s Smart View filters working and moves leads from initial outreach to follow-up automatically.