Introducing Yolk. Join the waitlist →
Our Work

WeLead

An AI SMS reactivation system that reconnects with older leads, holds sales conversations in Norwegian and books calls. A custom dashboard gives the team control of every campaign.

WeLead campaign dashboard displaying the lead pipeline and sequence controls
The WeLead campaign dashboard brings leads, sequences, conversations and reporting into one place.

Overview

GraphicMinds, a Norwegian design-course provider, had a database of around 1,700 older leads. Many had not been contacted for more than a year. Their form answers and previous sales notes gave the team context, but restarting each conversation by hand would take considerable time.

We built WeLead to run that process. Personalised opening messages lead into live AI conversations in Norwegian. The system handles delivery, follow-up, booking attribution and human handoff, with a custom dashboard for the sales team.

Inside the build

Relevant first contact

CRM exports are cleaned and grouped by previous contact and interest. Each lead gets an opener informed by their own history, with messages available for review and editing before they are sent.

Live Norwegian conversations

When a lead replies, the scheduled outreach stops and an AI agent takes over with the lead’s context and conversation history. It answers course questions, handles objections and guides interested people towards a call.

Control for the sales team

The Next.js dashboard brings together lead records, campaign groups, sequences, an inbox and analytics. Operators can review conversations and take over when a lead needs a human closer.

A traceable booking journey

Tracked links connect an SMS conversation to a landing-page visit or Calendly booking. Delivery events, replies, clicks and bookings feed back into the same lead record, so the team can follow the journey.

Implementation details

Sequencing and delivery

Supabase stores the leads, conversations and outbound queue. Scheduled Edge Functions process due messages, send through Sinch and record delivery events. Replies cancel the remaining sequence, and opt-out checks prevent further outreach to people who have asked it to stop.

Agents with tools and context

Claude Sonnet 4.6 powers the conversational agent, which can send messages, escalate a conversation or mark a lead as opted out. Conversation history stays attached to the lead, so the agent can respond with context across multiple exchanges.

Attribution and monitoring

A Cloudflare Worker records link clicks and carries a lead reference into the booking journey. Axiom captures structured message events, model calls, costs and errors, with dashboards and alerts for investigating delivery or agent failures.

Keeping the whole conversation connected

The difficult part was coordinating the steps around each message. An operator might edit an opener after a campaign has been queued. A lead might reply just before a follow-up is due. The queue therefore reads the current message at send time, and a reply cancels the remaining scheduled outreach before the agent continues the conversation.

Campaign groups control the sequence and booking route, including direct Calendly links and a separate landing-page journey. A lead reference travels through the tracked link, while a server-side process checks for bookings and reconciles them with the lead record. This gives the dashboard a view across messages, clicks and booked calls.

The same record supports human handoff. Staff can see the original lead context and the full exchange before responding. Structured logs connect delivery events, agent calls, costs and errors, making it possible to investigate an individual conversation as well as monitor the campaign as a whole.

WeLead workflow: personalised outreach, a reply stopping scheduled follow-ups, an AI conversation and a booking or human handoff, all attached to the same lead record
The sequence stops when a lead replies, allowing the conversation to continue with the right context.
View full-size image: Campaign sequencing and live conversations (opens in a new tab)

First eight days

The campaign report covering 12 to 20 April 2026 recorded the following early results. Replying leads sent around 2.5 inbound messages each, showing conversations continuing beyond the opening exchange.

Reply rate
46%
460 replies from 998 opening messages in the main cold segment.
Calls booked
12
Bookings recorded across the campaign during the reporting period.
SMS delivery
97%
5,930 of 6,102 messages delivered in the report’s seven-day technical window.
AI cost for the week
£18.47
Model costs recorded in the same technical window. SMS and hosting are additional.

Source: campaign report dated 20 April 2026. The reply rate covers the main cold segment; bookings cover the campaign. Delivery and AI cost use the report’s seven-day technical window.