Bloody Bloody Mary - Automating Restaurant Social Copy
Building a Google Sheets + OpenAI solution to generate varied restaurant promotional copy
When managing social media for multiple restaurant locations, creating fresh content for recurring promotions becomes a significant challenge. This project explores how to leverage AI to generate unique, on-brand social media copy while maintaining variety and engagement.
The Challenge
As a copywriter managing social media for an expanding restaurant chain, I faced a unique problem: creating fresh, engaging content for the same promotions across multiple locations. With 8 restaurants each requiring: - Daily Bloody Mary specials - 4 weekly chef specials per month - Other recurring promotional content
The traditional approach of manual writing became unsustainable and risked content becoming repetitive.
The Solution
I developed two versions of an AI-powered content generation system using Google Sheets and OpenAI's GPT-4:
Version 1: Basic Generation
- Integrated Google Sheets with OpenAI's API
- Input parameters: restaurant name, tone of voice, post type, and specific details
- Simple prompt-based generation without memory of previous content
Version 2: Context-Aware Generation
- Enhanced version with memory of previous outputs
- Maintains variety by avoiding repetition of themes and phrasings
- Improved prompt engineering for more diverse results
Technical Implementation
The Stack
- Google Sheets: Chosen for its collaboration features and ease of sharing with clients
- OpenAI GPT-4: Selected as the industry standard for text generation
- Apps Script: Connects the spreadsheet interface to OpenAI's API
Spreadsheet Structure
The system uses a simple but effective spreadsheet layout: - Column A: Restaurant Name (e.g., "Smashing Grapes") - Column B: Voice/Tone (e.g., "Cheery, inviting") - Column C: Theme (e.g., "vine time happy hour", "brunch", "food post") - Column D: Specific Details (e.g., "promote both times", "SAUSAGE & KALE SOUP") - Column E: Generated Result
Features
- Spreadsheet-based interface for easy content management
- API integration with OpenAI's GPT-4
- Customizable tone and style per restaurant
- Automated content generation with manual review
- Version 2: Content memory to prevent repetition
Results and Impact
The implementation of this system achieved significant workflow improvements: - 50% reduction in content creation time - Eliminated "blank page syndrome" by providing strong first drafts - Maintained consistent brand voice across multiple locations - Enabled copywriters to focus on refinement rather than initial creation - Improved collaboration with clients through shared Google Sheets interface
The key insight was that AI isn't meant to replace the copywriter but rather to handle the repetitive first draft, allowing human creativity to focus on refinement and personalization. This hybrid approach proved particularly valuable for recurring promotions like daily specials and regular events.
Example Outputs
Here are some real examples showing how the system handles different types of content while maintaining brand voice and variety:
Happy Hour Promotion
Input Parameters: - Restaurant: Smashing Grapes - Voice/Tone: Cheery, inviting - Theme: vine time happy hour - Details: promote both times
Generated Output: "Tick-tock, it's wine o'clock! Swing by Smashing Grapes for our Vine Time Happy Hour from 3PM - 6PM, Monday - Thursday, and 9PM - 12AM on Friday and Saturday. Your favorite bottled beers and wines by the glass are just $5 and our signature drafts are $4. Don't forget to pair your drinks with our delicious snacks. Come for the great times, stay for the grape times!"
Valentine's Day Special
Input Parameters: - Restaurant: Smashing Grapes - Voice/Tone: Cheery, inviting - Theme: valentine's day - Details: prix fixe menu (it's january)
Generated Output: "Love is in the air, and it's carrying a hint of Cabernet! At Smashing Grapes we'll be preparing a special prix fixe menu for Valentine's Day. Since it's January, time is of essence, so start booking your tables now. Don't miss out on a memorable date night filled with fine wines and a whole lot of charm. Reserve now through OpenTable!"
Featured Dish
Input Parameters: - Restaurant: Smashing Grapes - Voice/Tone: Cheery, inviting - Theme: food post - Details: SAUSAGE & KALE SOUP
Generated Output: "You deserve a winter crush that knows how to warm you up like our Sausage & Kale Soup! Italian sausage and tender kale in savory broth, topped with crispy sourdough croutons. Pair it with wine and thank us later."
Code Implementation
The complete code for this project is available on GitHub: Bloody-Bloody-Mary Version 2
To use this code: 1. Create a new Google Sheet 2. Open Apps Script from the Extensions menu 3. Copy the code from the repository 4. Replace the API key with your own OpenAI key 5. Save and run the script
Future Improvements & Tips for Success
While I'm no longer actively maintaining this project, I'm sharing it as a resource for other copywriters and restaurant marketers. Here are the key insights for getting the most value from this system:
Maximizing Output Quality
The secret to great results is rich, creative input. The more detail you provide, the better the output:
- Voice/Tone: Be specific about your restaurant's personality. Instead of just "casual," try "warm and witty with a hint of sass"
- Promotional Details: Include specific menu items, prices, and unique selling points
- Context: Add seasonal touches, local references, or tie-ins to events
Potential Applications
This code could be packaged and expanded to help restaurants:
- Maintain consistency across multiple locations while avoiding repetition
- Generate first drafts for regular promotional content
- Create a foundation for multi-platform social media strategies
Remember: AI isn't meant to replace the copywriter but to handle the repetitive first drafts. Human creativity and finesse are still essential for that final polish that makes content truly shine.