Skip to main content

Divverse

Sales Follow-up Agent for Proposal Follow-up

Millicent Atasie

Millicent Atasie

Following up after a proposal has been sent can involve several manual steps. Sales teams need to remember when each follow-up is due, use the right tone, track replies, respond to objections, stop outreach once a meeting is booked, and keep internal stakeholders informed.

This use case explores how a connected AI automation workflow can manage proposal follow-up from initial enrolment through to reply handling, meeting booking, sales notifications, and reporting.

The Problem

After a proposal goes out, someone still has to remember to follow up at the right cadence, with the right tone, without sending unnecessary messages, and stop the sequence when a meeting gets booked or the prospect says no.

When this is managed manually across multiple live proposals, follow-ups can be delayed, replies can be missed, records can become outdated, and sales teams may not have a clear view of pipeline activity or conversion performance.

The Solution

The Sales Follow-up Agent receives new leads after a proposal has been sent and puts them into a structured follow-up process. It sends follow-up emails on a schedule, monitors Gmail for replies, classifies buyer intent, generates contextual responses, stops the sequence when a meeting is booked, notifies the sales team through Slack, and produces CRM-style performance reporting.

How the Agent Works

  1. Receive proposal follow-up requests. The agent receives a lead after a proposal has been sent and creates a follow-up record with the information needed to manage the sales process.
  2. Manage the follow-up cadence. The workflow checks which leads are due for follow-up and applies defined rules for when messages should be sent, paused, or stopped.
  3. Send personalised follow-up emails. AI generates follow-up messages based on the proposal date, previous follow-up attempts, and the required tone for that stage of the sequence.
  4. Monitor and classify replies. Incoming replies are reviewed to identify whether the prospect is interested, wants a meeting, has an objection, is not interested, or needs further clarification.
  5. Respond, notify, and update records. The agent can generate contextual replies, update the lead record, notify the sales team, and stop follow-up automatically when a meeting is booked or the opportunity is closed.
  6. Track performance. Reporting workflows calculate proposal, follow-up, response, and booking activity to help sales teams understand pipeline performance.

Technical Workflow

1. Lead intake

A webhook (/Follow-up-agent) receives a new lead once a proposal has been sent (from an upstream “proposal agent” automation). A code node normalizes the payload into a clean record and initializes tracking fields (followup_attempts: 0, meeting_booked: false, stop_followup: false). This gets appended as a new row in a “follow ups” Google Sheet, which acts as the CRM for the whole workflow.

2. Daily cadence engine

Every day at 9 AM, a cron trigger reads the entire “follow ups” sheet and runs it through a filter: only rows with followup_status: active whose next_followup_due_date has arrived move forward. A Cadence + Stop Logic node then applies the business rules — stop if a meeting’s booked, the proposal’s confirmed, stop_followup is set, or the lead has hit the 3-attempt cap. Everything else is marked due.

3. AI-generated follow-up + send

Due leads go to an LLM agent (GPT-4.1-mini) that writes a short, professional follow-up email, with tone adjusted based on attempt number, referencing the proposal date and including a Calendly link. The agent uses a Gmail tool to send the email. A code node then increments followup_attempts, sets last_followup_date, and schedules the next follow-up two days out, writing the new state back to the sheet. A Slack message confirms the send to the sales channel.

4. Reply monitoring + intent classification

A Gmail trigger polls the inbox hourly. When a reply comes in, a code node extracts the latest human reply from the thread, stripping quoted history and decoding HTML/base64 MIME parts, and looks up the matching lead by email. If the lead has not already booked a meeting or been marked “confirmed” or “not interested,” the reply is run through a LangChain Text Classifier trained on six intent categories: received_confirmed, wants_meeting, interested, objection, not_interested, and unclear.

5. Intent-based branching

Each classified intent routes down its own branch, using five parallel Set Lookup → Update → Slack → Sheet-update chains. The workflow tags the lead’s client_feedback, notifies the sales channel with the client’s name and detected intent, and persists the classification back to the sheet.

6. Contextual AI reply

In parallel with classification, a second LLM agent generates a natural, context-aware reply to the prospect, using the full thread history as memory, nudging toward a booked meeting, addressing objections briefly, and avoiding repetition. The response is then sent as a Gmail thread reply through a Gmail tool.

7. Meeting-booked shutoff

A separate webhook listens for Calendly’s invitee.created event. On a booking, it looks up the lead by email, sets meeting_booked: true and followup_status: inactive, immediately halting the cadence engine for that lead, and posts a Slack notification with the attendee’s name, email, and meeting link.

8. On-demand CRM metrics

A webhook (/proposal-followup-metrics) accepts a date range and calculates a funnel report from the sheet, including proposals sent, follow-ups sent, calls booked, call booking rate, contact rate, no-response rate, completion rate, and average time-to-book. This is fed to an LLM (GPT-4.1) that writes a 2–4 sentence executive summary calling out efficiency, conversion quality, and risk signals.

9. Scheduled rolling metrics

A separate Google Sheets trigger, activated when new rows are added, recalculates the same metric set over a rolling seven-day window and appends it to a “follow ups metrics” sheet. This provides a standing week-over-week performance log without anyone requesting it.

Technology and Integrations

Built with: n8n, Gmail, Slack, Google Sheets, Calendly, OpenAI GPT-4.1-mini, GPT-4.1, webhooks, and connected sales workflows.

Outcome

The Sales Follow-up Agent creates a more structured process for managing proposal follow-up. Once a proposal is sent, the workflow can maintain a defined follow-up cadence, monitor and classify replies, generate contextual responses, stop activity when a meeting is booked, keep the sales team informed, and provide an AI-summarised view of pipeline activity. This helps teams manage live sales opportunities more consistently while reducing manual follow-up tracking and reporting work.

Need a Similar AI Automation for Your Business?

The Sales Follow-up Agent is one example of how AI automation can support a more structured sales follow-up process.

Divverse Labs designs and builds custom AI agents, automation workflows, internal tools, and connected systems for a wide range of business processes.

From sales, marketing, recruitment, customer support, and reporting to finance, operations, and internal team workflows, each solution is designed around the way your business works.

Request a Quote for a Custom AI Automation Solution to get started.