Fixing your workflows...

ServicesCase StudiesProcessPricing Book a Free Strategy Call
Back to Case Studies
Vita Pictura AI outreach system
AI Agent Outbound Sales Bounded Autonomy

A Bounded AI Outreach Engine for Vita Pictura

The Problem

Vita Pictura is a video production studio serving festival producers, marketing teams, and brand clients. Their work is high-touch and relationship-driven, but the outbound work behind it was manual. The founder was researching prospects, writing cold emails one by one, and managing follow-ups in a spreadsheet.

That approach worked when volume was low, but it did not scale. The team wanted more consistent pipeline generation without adding hours of repetitive prospecting work each week.

Early experiments with AI made the tradeoff clear. Large language models could help with research and drafting, but they were not reliable enough to contact prospects unsupervised. In outbound sales, one inaccurate or off-brand email can damage a relationship.

Vita Pictura needed a system that increased throughput without giving up human judgment or creating a large operational burden.


The Solution

The system was designed around a simple product principle: separate thinking from doing.

The AI agent is responsible for research and drafting. It is not allowed to send emails. Every message is reviewed by a human before it reaches a prospect, and every operational rule — send volume, timing, campaign priority, and agent behavior — is controlled from a dashboard.

This model is called Bounded Autonomy. The AI handles the creative and time-consuming parts of outbound work, while deterministic rules and human review govern everything that affects the outside world.


How It Works

Agent heartbeat cycle — the continuous 30-minute processing loop
The agent heartbeat: a fixed 30-minute cycle that checks, discovers, researches, and drafts.

The agent runs on a continuous 30-minute cycle referred to as the Heartbeat. On each cycle, it checks its instructions and moves through a fixed sequence.

First, it checks whether work should happen at all. If the current time falls outside the allowed outreach window, the agent exits immediately. That prevents unnecessary usage and avoids generating drafts when no one is available to review them.

Next, it checks for queued prospects that were imported or added manually by the team. If someone is waiting in the queue, the agent skips discovery and moves straight into research and drafting for that person.

If the queue is empty, the agent switches to prospect discovery. It looks at the highest-priority active campaign, searches for people who match that campaign's ideal customer profile, reviews publicly available information, and adds qualified prospects to the system.

Once a prospect is selected, the agent drafts a three-email sequence: an introduction, a first follow-up, and a second follow-up. The copy follows fixed rules for length, tone, wording, and link usage so the drafts stay concise, human, and operationally safe.

To keep costs predictable, the agent handles only one prospect per Heartbeat cycle. That limit keeps research focused and prevents runaway usage.


Control Layer

A dedicated dashboard gives the team visibility into every stage of the workflow and lets them adjust system behavior without engineering support.

The review queue is the center of the daily process. Drafted sequences appear for approval, the team can edit them inline, and approved emails are scheduled automatically based on preconfigured delays.

Campaigns are managed separately, each with its own funnel view and research controls. The team can enable or disable autonomous discovery per campaign, change priority levels, and see how prospects move from new to drafted, approved, sent, and replied.

Campaign dashboard showing prospect funnel and review queue
Campaign dashboard with funnel view, review queue, and real-time controls.

The dashboard also includes a send schedule and import tools. This makes it easy to see what is about to go out, upload prospect lists in bulk, and direct the AI toward specific targets when needed.

An admin settings panel controls the operational rules that protect deliverability and make the system manageable. These include an agent kill switch, daily send limits, allowed sending windows, and delays between sends.

Because the services read their configuration directly from the database, setting changes take effect on the next cycle. The team can adjust behavior in real time without redeploying infrastructure or touching backend code.


Key Design Decisions

One of the most important decisions was removing the AI's ability to send emails directly. The agent writes drafts to the database, a human approves them, and a separate deterministic process handles dispatch.

That was not a technical compromise. It was a product decision based on the realities of outbound sales. Probabilistic systems generate. Deterministic systems execute.

Another key decision was enforcing guardrails at the database level. During early iterations, retries and timeouts occasionally caused the agent to attempt the same draft twice. Instead of relying on the model to remember what it had already done, uniqueness rules were enforced in the schema. Duplicates were not flagged after the fact — they were made impossible.

The system was also designed for live reconfiguration. Rather than hardcoding behavior into containers or requiring server access for every adjustment, runtime settings were stored in the database and read continuously by the backend services.


Cost Control

Early versions of the system were too expensive to run comfortably, largely because the agent was consuming too much content per prospect during web research.

Three changes brought costs down significantly. The first was model selection: moving to a lower-cost model that still performed well enough for research and drafting. The second was context truncation: limiting scraped page content to the amount actually needed for qualification and personalization. The third was algorithmic budgeting: capping the number of searches, fetches, and prospects processed per cycle.

Those constraints changed the economics of the system. Instead of behaving like an open-ended research agent, it behaved like a bounded production workflow with predictable operating costs.

Cost reduction through bounded processing
Agent cost trends after implementing bounded processing and model optimization.

Outcome

Vita Pictura now has an outbound system that supports pipeline generation without requiring constant manual prospecting.

The agent can identify prospects, research relevant context, and prepare email sequences automatically, while the team stays in control of approval, campaign direction, and sending behavior.

What makes the system effective is not the model alone. It is the surrounding product design: clear boundaries for autonomy, deterministic execution for risk-sensitive actions, and an interface that gives operators direct control over how the system behaves.

Want something like this for your team?

We design and build custom AI agents tailored to your exact workflows.

Book a Free Strategy Call →
Book a Free Strategy Call