- Home
- Case studies
- Marketing automation case study
Case study
Marketing automation case study: SMS campaigns and opt-in workflows for financial advisors
ResultCompliance handling on recurring campaigns: down almost 35 to 45%
- Client
- A client serving financial advisory teams (anonymised)
- Industry
- Financial services: financial advice
- Service
- Marketing and workflow automation
- Type
- SMS and MMS messaging platform
- Timeline
- 6 months
- Status
- In use
This marketing automation case study is about the texts financial advisors send their clients: one-to-one messages, bulk SMS and MMS campaigns, and the opt-in workflows behind them. We built one platform over three messaging providers, so advisors run conversations, campaigns, opt-ins and reporting from one place. Teams with recurring campaigns now do almost 35 to 45% less compliance handling.
The challenge: one client conversation across three messaging providers
Before the build, advisors worked across separate tools and manual processes. They wanted one messaging system made for financial services teams, showing how campaigns performed, how clients engaged and what had been said, while helping teams meet compliance requirements and deliver messages reliably.
The platform needed to meet four requirements:
- Different provider formats. Each messaging provider had its own API, behaviour and webhook format, and message data had to stay in step across all of them without inconsistencies or duplicate records.
- Real-time updates across devices. Advisors wanted message updates to reach team members and their devices as they happened, because delays or sync problems affect whether a conversation is shown correctly.
- Metrics at volume. Response rates, link clicks, appointments booked and conversation grouping had to be counted promptly across high volumes of messages.
- Reliable bulk sends. Campaigns brought queues, deliverability and throttling to manage, along with slow GraphQL queries, large media attachments and checks to ensure each message was sent once.
What we built: SMS marketing automation on one layer over three providers
We built both the front end and the back end: messaging workflows, live tracking and campaign management for advisory teams, at scale. Six pieces carry it:
- One message model for every provider. A provider abstraction layer gives the three providers one message model, with an adapter for each. Provider actions are standardised, and the next provider is easier to add. During multi-provider testing, this layer removed an estimated 25 to 35% of messaging inconsistencies between providers.
- Opt-in and keyword templates. Ready-made workflow templates for opt-ins and keywords, which each business can customise, and workflows that teams adjust with rules of their own.
- No duplicate messages. Tracking and validating each provider's own message ID stops duplicates.
- Live updates across devices. GraphQL subscriptions and WebSocket event triggers push message activity across users and devices as it happens.
- Background jobs and caching. Sidekiq jobs process bulk campaigns, emails, media and provider sync. Redis caches phone number lookups, temporary message data and tokens, and batch-loading in the GraphQL resolvers cuts N+1 queries. Together, the caching and batch-loading saved about 30 to 40% of unnecessary backend load, so dashboards respond faster when many messages go out.
- Reporting. Daily batch pipelines calculate the metrics, group conversations and track engagement, and click tracking shows how each campaign performs.
The stack also includes React for the interface, PostgreSQL, Heroku and CircleCI.
One message model over three providers
Providers
Provider one
Its own API and webhook format
Provider two
Its own API and webhook format
Provider three
Its own API and webhook format
The layer
One message model, with an adapter for each provider
Duplicates stopped by each provider's own message ID
Advisors
Conversations, campaigns, opt-ins and reporting
Run from one place
Where the automation stops, and who takes over
There's no AI model in this one: every automated step is code following a rule someone set, from the opt-in templates to the provider adapters. The advisors run the conversations and the campaigns, and the platform handles the repeated work around them.
Who does what in an advisor's messaging
Writing to a client, one to one
The advisor
Running a bulk campaign
The advisory team, with sending processed in background jobs
Handling opt-ins and keywords
Workflow templates, customised by the business
Applying a team's own rules
Workflows set at team level
Sending and receiving through each provider
One message model, with an adapter per provider
Stopping duplicate messages
Checks on each provider's message ID
Showing new messages across devices
GraphQL subscriptions over WebSockets
Counting responses, clicks and appointments booked
Daily batch pipelines and click tracking
Managing compliance requirements
The advisory team, in the same system
This is the split our workflow automation starts from: code for the steps that never change, and people for the decisions. A model goes only on a step that needs reading or judgement, and none went into this platform.
Results
Before and after the build
Compliance handling work, teams with recurring campaigns
Time for a message to arrive, most active conversations
Messaging inconsistencies between providers, in multi-provider testing
Unnecessary backend load
Where advisors manage their messaging
BeforeDisjointed tools and manual processesAfterOne system, better organised
Link tracking and engagement reporting show advisors quickly how clients respond, and the adapter design makes the next provider easier to add.
Technologies and tools
- React
- GraphQL
- PostgreSQL
- Redis
- Sidekiq
- WebSockets
- Heroku
- CircleCI
Timeline
The build took six months.
If your team's work runs through several systems and the same steps repeat every week, our business process automation services start with a written plan for what happens when a step fails. When the hard part is connecting the systems themselves, our AI integration services list the connectors we build and what each one reads and writes.
More case studies
All case studies- Case studyTicket triage, reply drafts and call summaries for a broadband providerTriage, call summaries, reply drafts and quality-review support were integrated into the help desk, with agents sending every customer reply.
- Case studyPreparing motor and property claim files for a regional insurerClaim information, policy details and supporting documents were assembled for adjusters, who retain authority over coverage, reserves and settlement.
Bring us the messaging your team manages across separate tools
Tell us which providers you use, how clients opt in and what your team reports on. An engineer replies within two business days with which routine steps a workflow can support and which conversations and decisions should stay with your advisors.