Inspiration

My wife recently started a homegrown cut flower business that she is trying to get off the ground. While she does an excellent job growing and packaging the flowers, she struggles to know how best to market them, relying mostly on word-of-mouth and social media posts.

Targeted marketing emails, both in audience and content, could be an effective addition to her marketing efforts, but producing professional emails requires skills in HTML, CSS, design, and content writing. I wanted to build an application that could provide that expertise while still leaving her in control of the final result.

What it does

This application does just what my wife needs. Using instructions in natural language, she can draft, review, and edit a professional marketing email to promote her business.

She can create emails for new products, events, sales, and other promotions without needing to write HTML or design the email herself. After an initial email is generated, she can request changes in natural language, edit the HTML directly, or use a combination of both approaches. Once she is satisfied, the email can be sent through her connected Gmail account.

How we built it

The application uses a sequential multi-agent workflow with a human in the loop.

An agent constructs the initial email based on the user's instructions and then pauses for feedback. The user can request edits, and the agent revises the email accordingly. This process can continue until the user is satisfied with the result.

The agent makes decisions about HTML content block placement, choosing from a library of available blocks as well as appropriate images and logos. It writes the email content, creates calls to action, and assembles the final email in alignment with the user's instructions and available brand assets.

The user can also edit the generated HTML directly, allowing human judgment and agent-generated content to work together rather than requiring the user to accept an entirely automated result.

The agentic workflow was built entirely with Google's Agent Development Kit (ADK). It is wrapped in a FastAPI web application that supports creating, revising, saving, and sending the HTML email, including its subject line, preheader, and unsubscribe link.

The application is hosted on Google Cloud, and Google Cloud Storage is used to store assets such as images as well as the unsubscribe list used to honor recipients who no longer wish to receive marketing emails.

Challenges we ran into

One of the more challenging parts of the project was designing the metadata that describes the available content blocks, images, logos, and other assets to the agents.

The JSON profiles had to contain enough information for the agents to understand when an asset was appropriate without hard-coding the design of each email. Getting this structure right was important because it allowed the agents to make sensible design decisions while still working from a controlled collection of reusable assets.

Accomplishments that we're proud of

The more I work with Google's ADK, the more I appreciate it. I am particularly pleased with how much I am learning my way around the development kit and becoming more comfortable building agentic workflows with it.

What we learned

I continue to refine and strengthen my understanding of how to work with Google Cloud technologies. Through this project, I gained more experience deploying and supporting an application using Google Cloud, and I continue to see it as a strong alternative to AWS.

What's next for Marketing Email Generator

In an earlier project, I built a marketing campaign generator that constructed an entire marketing journey from a single brief. That agentic workflow created audiences and journeys that determined which customers should receive particular emails and when they should receive them.

While that system also generated brief email content, it did not design emails as thoroughly or professionally as this application.

A natural next step would be to combine the two projects. The result could be a more complete marketing platform in which agents build audiences, construct and optimize customer journeys, create professional emails with human review, and then send those emails to the appropriate audience segments as customers progress through the journey.

That would take the concept from generating an individual marketing email to managing much of the marketing process from strategy through execution.

Built With

Share this project:

Updates

Submission history