Founderflow Logo

Mailchimp Integration

Complete guide to integrating Mailchimp email marketing in your Founderflow Boilerplate. Learn how to manage subscribers, create campaigns, and automate email workflows.

Overview

📧

Mailchimp Email Marketing

Mailchimp provides comprehensive email marketing tools including audience management, campaign creation, automation workflows, and detailed analytics for your marketing efforts.

Audience Management

Organize and segment your email subscribers

Campaign Creation

Design and send email campaigns

Automation

Set up automated email sequences

Analytics

Track email performance and engagement

Templates

Professional email templates and designs

API Integration

Programmatic access to Mailchimp features

Setup & Configuration

Environment Variables

Configure your Mailchimp integration with these environment variables:

.env.local
# Mailchimp Configuration
MAILCHIMP_API_KEY=your_api_key
MAILCHIMP_SERVER_PREFIX=us1
MAILCHIMP_LIST_ID=your_list_id
# Find server prefix in your Mailchimp account settings
# Find list ID in your audience settings

Mailchimp Client Configuration

Set up the Mailchimp client for API operations:

lib/mailchimp.ts
import mailchimp from '@mailchimp/mailchimp_marketing';
mailchimp.setConfig({
apiKey: process.env.MAILCHIMP_API_KEY!,
server: process.env.MAILCHIMP_SERVER_PREFIX!
});
export const listId = process.env.MAILCHIMP_LIST_ID!;
export default mailchimp;

Implementation Examples

Subscribe User to List

Add a user to your Mailchimp audience:

app/api/mailchimp/subscribe/route.ts
import mailchimp, { listId } from '@/lib/mailchimp';
export async function POST(request: Request) {
try {
const { email, firstName, lastName } = await request.json();
const response = await mailchimp.lists.addListMember(listId, {
email_address: email,
status: 'subscribed',
merge_fields: {
FNAME: firstName,
LNAME: lastName
}
});
return Response.json({ success: true, id: response.id });
} catch (error) {
return Response.json({ error: error.message }, { status: 400 });
}
}

Get List Members

Retrieve subscribers from your Mailchimp audience:

app/api/mailchimp/members/route.ts
import mailchimp, { listId } from '@/lib/mailchimp';
export async function GET() {
try {
const response = await mailchimp.lists.getListMembersInfo(listId);
return Response.json({ members: response.members, total: response.total_items });
} catch (error) {
return Response.json({ error: error.message }, { status: 500 });
}
}

Next Steps

Now that you understand Mailchimp integration, explore these related areas: