Skip to content

Category: WordPress Automation

16 min read ChatGPT, The Art of Vibe Coding, WordPress Automation

How AI Agents Completely Eliminated My WordPress Click-and-Repeat Hell (And Your Clients Will Never Know)

Quick note: If you’re expecting Claude Skills Part 3 this week – it’s coming next week! I’m presenting this WordPress automation topic at WordCamp Taiwan 2025, so I’m switching up the schedule. Part 3 of the Claude Skills series (the one you’ve been waiting for drops next week. Trust me, it’ll be worth the wait.


It’s Friday night, 11:40 p.m.

You’re staring at wp-admin on client site number nine.

Updates → Clear cache → Regenerate CSS → Woo settings check → Lighthouse quick run → Screenshot the results.

You could do it with your eyes closed.

And that’s the problem.

You’re not developing anymore.

You’re a highly-paid mouse with a checklist.

More than 80% of your workload every week is just doing the same 20-30 clicks over and over and over.

What if I told you an AI agent could do all these clicks for you?

Not through APIs.
Not through custom code.

Through the exact same wp-admin interface you’re clicking right now.

.

.

.

The WordPress Pain Nobody Talks About

Here’s what your week actually looks like:

  • Monday morning: Update plugins on 5 client sites (45 minutes of clicking)
  • Tuesday: VAT tax increased – update rates on 12 WooCommerce stores (2 hours)
  • Wednesday: Deploy the same security settings to 8 new sites (90 minutes)
  • Thursday: Set up another identical WooCommerce store (3 hours)
  • Friday: Check all sites for updates, run reports (2 hours)

Sound familiar?

You didn’t become a WordPress developer to be a professional button-clicker.

Yet here you are, executing the same sequences like a well-trained automaton.

The worst part?

You know there’s an API for most of this.

But setting up proper API automation for 20 different client sites?

That’s a week-long project.

By the time you finish, you could have just… clicked the buttons.

Until browser-using AI agents changed everything.

.

.

.

July 2025: The ChatGPT Agent Launch That Changed Everything

I remember exactly where I was when OpenAI announced ChatGPT Agent.

Mid-morning.

Coffee getting cold while I watched the demo.

ChatGPT was… using a browser. Clicking buttons. Filling forms. Reading screens. Making decisions.

That’s when it hit me like a lightning bolt.

WordPress is entirely browser-based.

Every setting. Every configuration. Every update. It’s all just… clicking buttons in wp-admin.

If ChatGPT could use a browser, it could manage WordPress sites.

The possibilities exploded in my mind:

  • Bulk updates across client sites
  • WooCommerce store setups from scratch
  • Tax rate changes across multiple installations
  • Security configurations replicated perfectly
  • Plugin compatibility testing on staging sites

Everything I’d been doing manually could be delegated to an AI that never gets tired, never makes typos, and never accidentally clicks the wrong button at 11:40 p.m.

And ChatGPT wasn’t alone.

There are a few more browser-using AI agents in the market like Perplexity Comet and Claude for Chrome.

The game had changed.

WordPress automation that was impossible six months ago was suddenly trivial.

I immediately started experimenting.

And what I discovered changed my entire business.

.

.

.

How Browser-Using AI Agents Actually Work

A browser-using AI agent is exactly what it sounds like – an AI that can use a browser like a human.

It can:

  • Open websites and navigate pages
  • Read what’s on the screen
  • Click buttons and links
  • Fill out forms
  • Take screenshots
  • Document what it did

But here’s the killer feature for WordPress:

It uses the same wp-admin interface you already know.

No API setup. No authentication headaches. No custom code.

Picture this scenario:

The government just announced a tax rate change from 5% to 7%.

You have 20 WooCommerce client sites.

Each site requires:

  1. Log in to wp-admin
  2. Navigate to WooCommerce → Settings
  3. Click Tax tab
  4. Click Standard Rates
  5. Find the rate field
  6. Change 5% to 7%
  7. Click Save

That’s 7 clicks per site. 20 sites = 140 clicks.

Two hours of your life.

Gone.

Doing the exact same sequence over and over.

Now watch what happens with an AI agent:

You tell it once: “Update the tax rate from 5% to 7% on these 20 sites.”

It does exactly what you would do – logs in, navigates to WooCommerce → Tax → Standard Rates, changes the value, saves.

Across all 20 sites…. while you make coffee.

.

.

.

The WooCommerce Setup That Convinced Me This Was Real

Let me show you what made me a believer.

Setting up a WooCommerce store from scratch involves:

  • Store configuration (15-20 fields)
  • Tax setup (10+ settings)
  • Shipping zones (5-10 configurations per zone)
  • Payment gateways (multiple API keys and settings)
  • Product creation (categories, attributes, variations)

Manually?

That’s 100+ clicks and at least 5 hours of mind-numbing work.

Watch what happened when I gave an AI agent a simple checklist:

The result?

A fully configured WooCommerce store.

Every setting perfect. Every product created. Ready for orders.

100+ clicks. Zero human involvement after providing the checklist.

Want techniques like these weekly?

Join The Art of Vibe Coding—short, practical emails on shipping with AI (without the chaos).

No spam. Unsubscribe anytime.

.

.

.

The Secret: It’s All About The Checklist

Here’s what nobody tells you about AI automation:

Your AI agent is only as good as your checklist.

But here’s the beautiful part – you already have these checklists.

  • They’re in your SOPs.
  • Your client documentation.
  • Your head (you’ve done this 100 times).

The even better news?

AI can help you create perfect checklists in two revolutionary ways.

.

.

.

Method #1: Let AI Interview You (The Clarifying Questions Technique)

This changed my entire workflow.

Instead of writing a 200-line checklist from scratch, I give the AI a rough idea and let it interview me.

Here’s exactly how it works:

Step 1: Give AI Your Rough Concept

The full “Let AI Interview You” prompt:

I want to create a demo site for a WooCommerce website. The data for this site needs to be Malaysia-centric, as I am based there.

To achieve this, we will need to set up several key elements: the business address, tax, shipping options, and approximately five products. We'll focus on selling physical products, specifically t-shirts.

For tax, we need to use the local Malaysian SST. Regarding shipping, we will configure it for the US, UK, Singapore, and Malaysia.

For payments, I initially considered a gateway that offers a sandbox environment. However, for now, let's proceed with Stripe as the payment gateway.

So, to summarize, we'll have the address, tax, shipping settings, payment gateway, and physical products (t-shirts) configured for the countries mentioned.

My request from you is a comprehensive list of all necessary items and data points I can use to populate the WooCommerce website, including specific details for the address, tax, shipping, and any other relevant information you deem necessary.

Ask me clarifying questions until you are 95% confident you can complete this task successfully.

a. If the question is about choosing different options, please provide me with a list of options to choose from. Mark the option with a clear label, like a, b, c, etc.
b. If the question need custom input that is not in the list of options, please ask me to provide the custom input.

Always mark each question with a number, like 1/, 2/, 3/, etc. so that I can easily refer to the question number when I answer.

For each question, add your recommendation (with reason why) below the options. This would help me in making a better decision.

Step 2: AI Asks Clarifying Questions

Look at what the AI does. It doesn’t just ask “what do you want?” It provides specific options:

1/ Brand for the demo store
a) BajuLab (fictional)
- Recommendation: Great for demos; avoids mixing with your real brand.
b) Smashing Advantage Apparel (uses your existing brand umbrella)
- Recommendation: Useful if you'll demo to your clients as "your studio's" store.
c) Custom brand (tell me the exact name)

Every question has:

  • Clear options (a, b, c)
  • Recommendations with reasoning
  • Custom input if needed

The AI continues with granular questions about:

  • Tax configuration (SST vs GST)
  • Shipping zones and methods
  • Payment gateway preferences
  • Product catalog structure

Step 3: Answer With Simple Choices

My responses? Dead simple:

No lengthy explanations, or complex configurations. Just pick from the menu.

Step 4: AI Generates Perfect Checklist

The AI transforms my simple answers into a comprehensive, copy-paste kit:

Shows the final comprehensive checklist

But, it’s not done yet.

Next, we will ask the AI to convert it into a detailed checklist (with click-path + values):

From vague idea to perfect checklist in 10 minutes.

.

.

.

Method #2: Turn Your Screen Recording Into a Checklist

Already know how to do the task?

This method is even faster.

Step 1: Record Yourself Doing It Once

Open your screen recorder. Do the task once. Don’t explain anything – just do it normally.

Step 2: Upload to AI

Drop your video into Google AI Studio. No editing needed.

The “Turn Your Screen Recording Into a Checklist” prompt:

I've uploaded a video demonstrating the WordPress plugin update process. The video covers:

1. Creating a backup using a backup plugin to protect against issues
2. Navigating to the plugins page and identifying plugins that need updates
3. Updating plugins one-by-one and verifying the site after each update
4. Restoring from backup if problems occur

**Your Task:**
Analyze the video thoroughly and create a **comprehensive, step-by-step checklist** for updating WordPress plugins. This checklist must be:

- **Generic and reusable** - Don't reference specific plugin names; use placeholders like "[Plugin Name]" or "[Backup Plugin]"
- **Detailed with exact click-paths** - Format: `Dashboard > Section > Subsection > Button/Field`
- **Include specific values** - Note any settings, options, or fields that need to be filled/selected
- **Action-oriented** - Each step should start with a clear action verb (Click, Navigate, Select, Enter, Verify, etc.)
- **Include verification steps** - After each critical action, specify what to check/verify
- **Organized by phases** - Group steps into: Preparation/Backup, Pre-Update Checks, Update Process, Post-Update Verification, and Troubleshooting/Restore

**Format the checklist as:**
- [ ] **Step description** → `Click path` → Value/Action → ✓ Verification checkpoint

This checklist should enable anyone to replicate the process consistently across different WordPress sites and various plugins.

Step 3: AI Documents Every Click

The AI watches your video and creates step-by-step documentation:

Your muscle memory becomes reusable documentation.

Every click.
Every navigation.
Every setting.

Captured and structured automatically.

.

.

.

From “Update and Pray” to “Update and Relax”

WordPress updates.

We all know the feeling.

That red notification bubble haunting your admin bar: “12 updates available.”

Your stomach drops.

Because you know what’s coming.

The Official Best Practice:

  1. Make a full backup
  2. Update on staging first
  3. Test all functionality
  4. Check for conflicts
  5. Document changes
  6. Then update production

The Reality at 11:40 p.m.: “Select all → Update → Pray”

We’ve all been there.

Rolling the dice.

Hoping this isn’t the update that breaks everything.

Remember the last time an update went wrong?

  • The payment gateway that stopped working (discovered by an angry customer)
  • The contact form that suddenly disappeared
  • The shipping calculator that decided everything costs $0
  • The homepage that went completely blank
  • That “minor” security update that broke your custom CSS

The recovery process is its own special hell:

  • Frantically googling error messages
  • SSH-ing into the server at midnight
  • Trying to remember which backup actually works
  • Explaining to the client why their site was down for 3 hours
  • Promising yourself you’ll “do it properly next time”

But next time comes, and you’re exhausted, and there are 12 sites to update, and…

“Select all → Update → Pray”

What if I told you an AI agent could handle all of this automatically?

Not just the updates.

The entire process:

The Challenge: Update multiple WordPress plugins across a client site
The Twist: If anything breaks, automatically rollback

Watch what happened:

The AI agent:

  • Created a backup first (verified it was complete)
  • Updated plugins systematically (one at a time)
  • Checked the site after each update (front-end and critical functions)
  • When it detected a broken plugin, deactivate it.
  • Documented exactly which plugin caused the issue
  • Sent a report with screenshots and recommendations

Total human involvement: Zero.

No stress.
No late-night panic.
No angry client calls.

Just a calm notification: “Updates completed. One compatibility issue detected and resolved. Full report attached.”

.

.

.

“But Isn’t It Risky?” Let’s Talk Security

I know what you’re thinking.

“Giving an AI access to my WordPress sites? That sounds like a security nightmare.”

Valid concern. Let’s address it head-on.

Here’s the reality:

Your WordPress sites are already at risk every day from:

  • Plugin vulnerabilities (remember that massive security hole last month?)
  • Weak passwords (“password123” is still in your client’s database)
  • Human error (ever updated the wrong site at 11:40 p.m.?)
  • Outdated themes causing conflicts
  • That intern who has admin access for some reason

You already know how to handle these risks: backups, staging, testing, proper procedures.

With AI agents, we apply the exact same precautions.

.

.

.

The Three Commandments of AI Agent Security

Rule #1: Never Give AI Your Actual Credentials

Never. Ever. EVER.

Instead:

  • Use one-time passwordless login links
  • Log in first, then hand control to AI
  • Store API keys in wp-config.php, not in checklists
  • Use placeholders in checklists, update manually after

Rule #2: AI Works on Staging, Not Production

Your workflow becomes:

  1. AI agent does its work on staging
  2. You review the results (30 seconds)
  3. If good → merge to production (one click)
  4. If broken → no harm done

Almost every decent host offers staging now. No excuses.

Rule #3: Always Make Backups First

This should already be your religion. But with AI agents, it’s scripture:

  • Backup before any major changes
  • Verify the backup actually works
  • Know your restoration process cold

These aren’t new risks. They’re the same risks you already manage.

The AI agent is just another tool. Like giving your assistant access to update plugins. Except this assistant never gets tired, never makes typos, and documents everything.

.

.

.

The Hidden Benefits Nobody Talks About

Once I started using AI agents for WordPress tasks, unexpected benefits emerged:

Benefit #1: Perfect Documentation

Every task the AI performs is documented. Every click. Every change. Every result.

Client asks “what changed on my site last month?”

Here’s the exact log of every update, every setting change, every modification. With timestamps.

Benefit #2: Consistency Across All Sites

That security configuration you perfected? It’s now identical across all 20 client sites.

No more “I think I configured this one differently” or “Did I remember to add that firewall rule?”

Benefit #3: Testing Becomes Trivial

Want to test how a plugin update affects 5 different theme configurations?

  • Spin up 5 staging sites.
  • Give the AI agent the same checklist for each.
  • Watch it test all 5 simultaneously while you grab coffee.

Benefit #4: You Can Take a Real Vacation

Picture this: You’re on a beach in Bali. Feet in the sand. Favorite beverage in hand (mine’s a cold coconut water, but you do you).

Your phone buzzes. It’s your AI agent:

“Weekly maintenance complete. 47 plugins updated across 12 sites. Two compatibility issues detected and resolved. All sites passing health checks. Full report ready for client review.”

You take another sip. Maybe check the report. Maybe don’t.

Site maintenance doesn’t stop because you’re sipping margaritas on a beach. Your AI agents run on the cloud, execute your checklists, handle the issues.

You only intervene if something actually needs your expertise. Which, let’s be honest, is rare when it comes to routine updates.

.

.

.

Your WordPress Workflow, Transformed

Let’s get specific about what this means for your daily workflow:

Before AI Agents (Your Current Week)

  • Monday: 3 hours of plugin updates across client sites
  • Tuesday: 2 hours setting up a new WooCommerce store
  • Wednesday: 1 hour updating tax rates and shipping zones
  • Thursday: 2 hours running security audits and fixing issues
  • Friday: 2 hours generating reports and maintenance

Total: 10 hours of clicking

After AI Agents (Your New Week)

  • Monday morning: 15 minutes reviewing AI agent reports from weekend maintenance
  • Monday afternoon: Actually building that custom feature your client wants
  • Tuesday – Thursday: Real development work
  • Friday: Planning next week while AI agents run all maintenance

Total: 15 minutes of oversight

That’s not a 50% improvement. That’s not even a 90% improvement.

That’s 40 hours per month of your life back.

.

.

.

How to Start Tomorrow Morning

Here’s exactly how to implement this:

Step 1: Pick Your Most Painful Task

What did you do this week that made you want to quit WordPress?

  • Setting up another identical WooCommerce store?
  • Updating plugins across 10 sites?
  • Migrating settings between staging and production?

Pick ONE task. The one that hurts the most.

Step 2: Create Your First Checklist

Use Method #1 (AI interview) or Method #2 (screen recording).

Don’t overthink it.

Your first checklist won’t be perfect. That’s fine.

Step 3: Test on a Staging Site

Never test on production first. Clone one of your sites to staging.

Give the AI agent your checklist. Watch it work.

Step 4: Refine and Scale

Your first run will reveal issues:

  • Missing steps in the checklist
  • Unclear instructions
  • Edge cases you forgot

Fix them. Run again. Once it’s perfect, you have a reusable automation forever.

Step 5: Expand Systematically

One task automated successfully? Move to the next:

  1. Week 1: Plugin updates
  2. Week 2: WooCommerce setups
  3. Week 3: Security configurations
  4. Month 2: Everything routine is automated

.

.

.

The Real Question: What Will You Do With Your Time?

Remember that Friday night at 11:40 p.m.? Clicking through client site number nine?

That version of you doesn’t have to exist anymore.

You didn’t become a WordPress developer to click buttons. You got into this to build things. To solve problems. To create.

When 80% of your routine work is handled by AI agents, what will you do?

Maybe you’ll:

  • Take on more clients (without burning out)
  • Build that SaaS you keep dreaming about
  • Actually enjoy your weekends
  • Learn that new framework you’ve been putting off
  • Spend time with your family instead of wp-admin

Or maybe you’ll just sleep better knowing that while you rest, your AI agents are handling the midnight maintenance, the weekend updates, the mind-numbing configurations.

All the work. None of the clicking.

.

.

.

Your Challenge This Week

I’m not asking you to automate everything. I’m not even asking you to trust AI with production sites yet.

I’m asking you to do ONE thing:

Pick one repetitive task you did this week.

Just one.

Create a checklist for it. Hand it to an AI agent. Watch what happens.

Because once you see it work – once you watch an AI agent perfectly execute 100 clicks in 6 minutes – you’ll realize something profound:

You’ve been doing WordPress on hard mode this entire time.

The age of manual WordPress management is over.

The age of AI agents is here.

What will you automate first?

Stop clicking.

Start delegating.

Your future self – the one actually building cool stuff instead of clicking buttons – will thank you.


28 min read ChatGPT, GPT-4, WordPress Automation

Taking WordPress to Infinity and Beyond with ChatGPT API

Ah, the digital revolution.

Just when you think you’ve caught up, something like ChatGPT waltzes in and says, “Tag, you’re it!” Especially if you’re in the WordPress world.

This is not your everyday GPT-4 conversation; this is about automation that can drastically simplify your life and business processes.

The ChatGPT Phenomenon

ChatGPT has become more than a household name; it’s like the digital BFF you never knew you needed. It helps you draft emails, brainstorm creative projects, and even chat when you’re bored.

But what you may not know is that there’s a behind-the-scenes maestro in all of this—the ChatGPT API.

ChatGPT vs. ChatGPT API: The Omakase and the Super Kitchen

Think of ChatGPT as a mind-blowing Omakase meal at a sushi restaurant. Every detail is curated for a “Wow, this is amazing!” experience.

The ChatGPT API, on the other hand, is like having the entire kitchen at your disposal but without the chef.

You’re the culinary artist now, free to cook up endless automation possibilities for your WordPress site.

Note: Throughout this guide, when I mention “ChatGPT,” I’m specifically referring to the ChatGPT API, not the stand-alone website or application.

Now, let’s tie this back to the bigger picture: the human longing for efficient, personalized assistance.

This yearning is not new; it’s been a part of popular culture for quite some time.

From Iron Man to Jarvis: A Personal Journey

When “Iron Man” hit the theaters, it wasn’t just Tony Stark’s armor that had us all drooling. It was his AI assistant, Jarvis.

I was among those enamored not by the metallic superhero suit, but by the idea of a personal AI assistant handling mundane tasks.

On May 21, 2021, I was granted access to GPT-3, a significant stepping stone toward making that dream a reality.

To say my life underwent a transformation thereafter would be an understatement.

Sixteen months before the emergence of ChatGPT, GPT-3 had already laid the groundwork for groundbreaking innovations.

In that pre-ChatGPT period, I engaged in extensive experimentation, striving to optimize my life through the automation capabilities of GPT-3.

However, the advent of GPT-4 has expanded the horizons of what’s achievable with automation, propelling possibilities into unprecedented realms.

What’s In Store For You in This Guide?

Are you ready to automate like you’ve never automated before?

In this guide, we’ll explore how to employ the ChatGPT API to take your WordPress experience to a realm that’s as efficient as it is captivating.

Tools You’ll Need

To follow along, you’ll require a few tools:

  • OpenAI API Key: Here’s where you can get it.
  • Zapier: Although primarily a paid tool, it’s well worth the investment for this guide.
  • Pipedream: A free account should suffice for our purposes.

Don’t worry if you don’t use Zapier. Alternatives like Make.com, Pabbly Connect or n8n work just as well—the workflow is nearly identical.

Let’s Dive In!

Now that we’ve set the stage, let’s delve into our first automation experiment.


Automation #1: Content Creation Automation Using ChatGPT API

Over the past two years, I’ve immersed myself in the specialized field of automated content creation, with a particular focus on leveraging the GPT-3 and ChatGPT API.

While it’s enticing to generate long articles almost effortlessly, the question remains: can a simple prompt truly yield high-quality content?

Motivated by this query, I embarked on an exhaustive journey. I’ve invested innumerable hours in testing, experimentation, and fine-tuning the approach.

Today, I am eager to unveil my findings. My goal is to illuminate both the untapped potential and the inherent limitations of using this technology for content creation.

Shall we begin?

1. Automated Mass Article Generation with ChatGPT API

The allure of creating content with just a simple command is hard to resist. Imagine crafting a 2000-word piece without breaking a sweat. I’ve been there and felt that excitement.

Here’s how I went about it:

Why it’s enticing?

In my journey, I’ve constantly searched for efficient ways to produce content.

The ChatGPT API, in this respect, feels like a dream. With just a single command, the possibility of churning out a substantial article opens up. It’s like having a little genie at your disposal.

But like any tool, its true value lies in how you wield it.

Step 1: Generating Topics with ChatGPT:

From my experiments, I’ve found that ChatGPT can be a great brainstorming assistant.

By simply inputting the prompt give me 30 topics related to productivity for freelancers, creatives, and solopreneurs. The result should be in a table format with only 2 columns. One for the topic, another for the target audience, it offers up a plethora of fresh topics tailored for your audience.

The next step? Organize this data, and that’s where Airtable comes in.

Step 2: Setting up Airtable:

I use Airtable as a dynamic repository, making it perfect for cataloging and structuring my content.

Here’s my configuration:

  • Topic: The primary subject or theme. It’s an efficient way to group ideas and content.
  • Target Audience: Identifying the intended readership or viewers ensures the content is relevant and impactful.
  • Outline: A brief sketch or roadmap for the article.
  • Title: The article’s headline.
  • Content: The core text of the article. Activate the rich text formatting to maintain uniformity and elevate the reading journey.
  • Status: A tool for streamlined workflow. I use it as follows:
    • ‘Todo’: An idea is jotted down and is pending action.
    • ‘In Progress’: The creation phase – where ideas take shape.
    • ‘Done’: Celebrating the completion of well-crafted content, ready for its audience.

For a practical illustration, visit this Airtable example.

Step 3: Zapier Automation:

Efficiency thrives on automation. This is where Zapier, my trusted sidekick, steps in to make things seamless:

1. Setting the Stage:

To kick things off, I establish a daily routine in Zapier, defining precisely when the magic should commence.

2. Scouting for Topics in Airtable:

Zapier then leverages its Airtable ‘find record’ action. Its mission? To comb through Airtable and pinpoint a topic marked ‘Todo’.

3. Drafting with ChatGPT:

With the selected topic, we turn to our digital maestro, ChatGPT. Here, it takes on two pivotal roles:

3.1 Crafting a Brief:

Using the title and target audience details, ChatGPT sketches an outline, setting the groundwork for the article.

3.2 Building the Narrative:

Armed with the outline, ChatGPT then meticulously crafts the full article, giving life to the idea.

4. Organizing the Outcome:

Once sculpted to perfection, the article finds its place in Airtable—organized, categorized, and awaiting its debut.

5. Publication Prelude:

The grand finale? Employing the WordPress ‘create post’ action, the article gracefully takes the stage, inviting the world to revel in its content.

To sum it up, it’s a harmonious ballet of ChatGPT, Airtable, and Zapier, synchronized perfectly to the rhythm of streamlined content creation.

Want to replicate this efficiency in your workflow? Get the full Zap template here: https://go.nathanonn.com/zap-wp-content-creation

2. Enhancing Article Quality with a Research Tool

The world of automated content creation is mesmerizing, isn’t it? But like any tool, it has its drawbacks.

Let me walk you through some challenges I’ve encountered and how I’ve worked around them.

The Problem with Solely Depending on ChatGPT

When I first began using ChatGPT, the novelty was exhilarating.

But over time, I noticed a trend. The articles, though coherent and informative, had a certain… sameness to them.

As more enthusiasts jumped on the ChatGPT bandwagon, the internet began flooding with eerily similar content.

For readers, this repetition became a bore, making them drift away.

That’s when I realized: depending solely on ChatGPT meant compromising on originality.

Incorporating a Research Phase

In my pursuit of authenticity, I realized the value of good old-fashioned research.

Just because I was automating the content creation didn’t mean I had to forgo the depth that comes from thorough study.

The strategy is simple but effective:

  • Research Google based on the article’s title. This would gave us a broader perspective on what’s already out there.
  • Next, summarize the crux of the top search results. This step added layers to the content, making it richer and more informative.
  • From these summaries, we use ChatGPT to fish out the five most captivating tidbits related to the topic. These became the pillars of our article.
  • With this foundation, we direct ChatGPT to draft an article outline, which then blossomed into the full content.

Using SerpAPI:

My secret weapon in this journey? SerpAPI. It allowed me direct access to Google’s search results. With it, I could effortlessly:

  • Fetch the top 5 results related to the topic. This ensured I was capturing the most relevant content.
  • Dive into these articles to distill the essence. The goal? To condense the key insights from these pieces.
  • The best part? I didn’t have to do this manually. With the help of Zapier, these tasks were automated, further streamlining my workflow.

if you copy from one author, it’s plagiarism, but if you copy from many, it’s research.
Wilson Mizner

Step-by-Step Zapier Setup for Research Integration

Let’s dive deep into the nitty-gritty of the setup. Trust me, it’s simpler than it sounds!

Getting Started with SerpAPI

To commence our research, SerpAPI is our tool of choice. So, first things first, sign up for a free account on SerpAPI and secure your API key.

While there are different plans, their free plan, which allows up to 100 searches a month, is more than enough for our needs.

Setting the Foundation in Zapier

With our SerpAPI account ready, it’s time to sculpt our Zap.

Step 1: Kick-Start with a Schedule:

Just like before, we begin by setting a daily trigger in Zapier.

Step 2: Fetch the Topic from Airtable:

Remember our Airtable setup from before? Tap into that, pulling out the topic you’ve slated for the day.

Step 3: Integrate SerpAPI via Webhook:

Set up a Webhook in Zapier that taps into SerpAPI. This will fetch Google search results based on our topic. My personal preference is to limit it to the top 5 results. However, if you’re feeling ambitious, you can stretch it to 10. But beware of information overload!

Step 4: Loop Through Each Result:

With our results in hand, it’s time to delve deep into each one.

But first, a tiny adjustment.

Swing back to Airtable and add a new column, designated for the key insights we’re about to extract from the sites.

Then, we proceed to setup the loop.

Step 5: Set the Tempo with a Delay:

Automation is quick, but let’s not get our wires crossed.

Inject a slight delay in Zapier to ensure smooth execution and avoid any overlapping actions.

Step 6: Web Parsing and Content Extraction:

This is where the magic happens.

Employ “Web parser by Zapier” to mine the content of each website.

Following this, fire up ChatGPT, directing it to sieve out the key points from the extracted content.

Step 7: Seamlessly Update Airtable:

Before feeding our newfound insights into Airtable, I pull the latest content data. This ensures we’re adding to it, rather than inadvertently replacing anything. As we’re looping, this step is crucial to maintain data integrity.

Then, only we update it to Airtable.

Step 8: A Checkpoint with a Gate:

Automation is smart but needs guidance. I set up a gate that checks if our loop has concluded. Only post this check, the next steps proceed.

Step 9: Drafting the Masterpiece with ChatGPT:

Now, with a treasure trove of key points in hand, I again turn to ChatGPT.

First, it crafts a comprehensive article brief based on the gathered insights.

This brief then acts as the muse for ChatGPT to compose the final, polished article.

Step 10: Final Touches and Publishing:

Once our article is ready and brimming with insights, I save it in Airtable.

And the grand finale? A seamless publish onto our WordPress site.

And there you have it!

A blend of automation with in-depth research, ensuring our content remains fresh, insightful, and engaging.

Want to replicate this Zapier workflow? Get the full Zap template here: https://go.nathanonn.com/wp-content-creation-research

But, is that all?

3. Providing Directed Research for Better Content

The Issue with Open-ended Web Hunts

I’ve come to realize that when I use ChatGPT for broad web searches, it occasionally brings in content that falls short of the mark.

There’s a saying: “garbage in, garbage out”.

And in content creation, that’s something I really want to avoid.

The Way Forward

Instead of sending ChatGPT on a blind quest across the web, I believe in a more structured approach, which is provide links to research.

Step 1: Storing Tailored Research Links in Airtable:

In our trusty Airtable, I create a distinct column dedicated for links.

These are my chosen treasure troves of information. For simplicity, I make sure each link occupies its own line, making it easier to navigate and process.

Step 2: Zapier’s Role in Content Extraction

With the links set, I configure Zapier to pull content from each one.

Step 3: Getting ChatGPT’s Expertise:

Once the content is in, it’s over to ChatGPT to work its magic. It crisply summarizes the content, distilling it into easily digestible chunks.

Step 4: Continuing with Our Proven Process:

From here, it’s familiar territory. I follow the same steps we discussed earlier to craft our article.

Why Choose This Route?

One might wonder, why not just let the tool scavenge the web? Why personally select links?

  • Chasing Uniqueness and Quality: If I’ve learned one thing, it’s that to stand out, you’ve got to put in the work. Who wants to read the same old rehashed content, right?
  • Avoiding the Trap of Generic Content: It’s easy to fall into the trap of generic content when automating. By handpicking research links, I ensure my articles have a fresh and distinct voice.
  • Maximizing Automation Without Compromising Quality: I’ve gone lengths to automate what I can. The only piece I ardently insist on is feeding quality links. And trust me, that bit of effort is absolutely worth it.

While the automated route is enticing, a touch of manual intervention, in the form of quality links, ensures that our content stands a head and shoulders above the rest.

Want to replicate this Zapier workflow? Get the full Zap template here: https://go.nathanonn.com/content-creation-directed-research

In our journey through automating content creation, it’s become clear to me that while technology can do wonders, the human touch remains irreplaceable.

We’ve harnessed the power of ChatGPT, integrated it with tools like Zapier and Airtable, and discovered ways to streamline the process.

Yet, the essence of high-quality content lies in the personal choices we make: from selecting the right topics to handpicking research links.

Automation, in essence, is a tool, not a substitute. I truly believe that it’s the balance between automation and human insight that creates content which resonates, informs, and stands out in the vast sea of information.

As we continue to explore and innovate, always remember that it’s our unique perspective and diligence that make our content truly special.


Automation #2: Content Marketing Automation for Effortless Promotion

After crafting quality content, the next natural step in my process is spreading the word.

In today’s digital age, having an automated system to push your freshly minted articles onto platforms like LinkedIn, Twitter, or Facebook is, I believe, an indispensable tool.

For illustrative purposes, let’s dive into automating content promotion on LinkedIn, though the principles apply to any social platform.

Setting Up Your Content Broadcast on LinkedIn

From my experience, timing plays a significant role in content marketing.

Say you publish at 10am; it’s often beneficial to stagger your promotional efforts. That’s why I suggest launching your LinkedIn promotion around 12pm, giving a two-hour window.

The gap isn’t set in stone; it merely provides breathing space and ensures the content is live and accessible.

Initiating the Automated Marketing Process:

Step 1: Content Retrieval:

At 12pm, the automation tool (Zapier) gets to work, pulling the content you’ve put out two hours prior.

This ensures that it’s fetching your latest work.

Step 2: Crafting the Social Media Post:

Utilizing the content, I turn to ChatGPT to create a captivating LinkedIn post.

This isn’t about regurgitating the article, but more about teasing the content, making it irresistible for your LinkedIn audience.

Step 3: Posting with Precision:

With our post crafted, it’s paired with the article’s link and any relevant imagery. This combined package is then auto-posted to LinkedIn, doing away with manual posting.

If you’re anything like me and want to amplify your content’s reach, consider setting up similar automations throughout the day.

By resharing your content at different times, you increase its visibility and potential impact.

Remember, the world of social media is vast, and to ensure you’re heard, sometimes it’s worth repeating your message.

Want to replicate this Zapier workflow? Get the full Zap template here: https://go.nathanonn.com/wp-content-marketing


Automation #3: Filter out Spammy emails from
Your WordPress Contact Form Using ChatGPT API

When we talk about managing a WordPress website, there’s one area where many people, including me, often face challenges: managing emails from the contact form.

With an influx of unsolicited and irrelevant messages, it’s easy to drown in the noise.

From my personal experience, it’s crucial to automate email classification.

Let me walk you through the reasons and the steps to set up such a system using ChatGPT API.

Why We Need Email Classification

I’ve always believed that a contact form is a double-edged sword.

On one hand, it’s a channel for genuine visitors to get in touch. On the other, it’s an open invitation for a deluge of irrelevant emails.

And while tools like reCAPTCHA are powerful against bots, they’re helpless against humans manually typing in their spammy pitches, like those notorious SEO or graphic design service offers.

To me, using a spam classifier isn’t just about decluttering; it’s about respect for our time, maintaining our professional image, and safeguarding our systems.

By filtering out the fluff, we ensure that we’re only giving attention to the messages that genuinely deserve our time.

Step 1: Initializing Your Contact Form with the Spam Detector

Imagine each time someone sends a message through your form, ChatGPT acts as a diligent watchman, instantly gauging the essence of the message.

To begin, redirect all incoming emails from your contact form to a specific Zapier email. You’ll do this using the Email by Zapier trigger.

Step 2: Efficiently Processing Classified Emails

Guide ChatGPT to meticulously scan and assess each incoming email.

Upon ChatGPT’s evaluation, your next move depends on the categorization of the emails.

When tagged as SPAM: Swiftly divert these emails to a designated “dump list.” I recommend housing them temporarily on platforms like the zapier table, airtable, or Google sheets for convenience.

Even top-tier AI can occasionally make mistake. Therefore, by maintaining this secondary storage, you’re safeguarding against potential oversights and missed crucial communications.

Note: you can setup another zap to flush the dump list every month to make sure it isn’t overflow.

When tagged as PROCEED: These are the messages you’ve been waiting for! Make sure these invaluable communications are channeled straight to your main email account.

This system not only streamlines your primary inbox but also ensures you’re consistently exposed only to pertinent content.

In wrapping up, I feel it’s essential to state the transformative power of automating your email classification on WordPress with ChatGPT.

It doesn’t just make life easier; it adds efficiency, effectiveness, and a touch of elegance to managing your digital communications. Give it a shot and experience the difference!


Automation #4: Your Very Own WordPress Assistant Powered by ChatGPT

Have you ever fantasized about having an AI assistant handle tasks for your WordPress website?

Well, it’s not just a dream anymore. By integrating ChatGPT into your WordPress site, you can simplify tasks, save time, and enhance efficiency.

Picture this:

  • Adding new user accounts, no WordPress login needed.
  • Installing or updating themes and plugins—without even going to WordPress.
  • Easily composing and updating blog posts.
  • Tweaking settings without diving into complex dashboards.
  • Executing advanced tasks with straightforward, conversational cues.

All these and more are possible with AI doing the hard work.

So, how does this magic happen?

Let me explain.

How ChatGPT Talks to WordPress

Ever wondered how you could command ChatGPT via a platform like Slack, and by doing so, direct activities on your WordPress site?

Note: This explanation will focus on Slack, but rest assured, other platforms like Discord or Telegram can also do the trick.

When you command ChatGPT via Slack, it interprets your intent. Depending on the command, it interacts with the relevant WordPress component.

For instance:

Create a new user with the details:
Email: adminemail@gmail.com
Role: admin

ChatGPT analyzes this, decides which WordPress segment to interact with, and processes accordingly. You’ll then receive a response:

This works because of a special trick ChatGPT API has called “function calling.”

It’s like teaching the AI how to follow our commands and decide what to do next.

Then, using that information, ChatGPT tells WordPress to create a new user. That’s basically how it does its thing.

And, if you’ve heard of ChatGPT plugins, they work in a similar way.

Now, let’s look at how to set this up.

A quick note: This setup demands specific coding prowess. That’s why I recommend Pipedream over Zapier. Pipedream handles this sort of coding more seamlessly.

Setting Up a New Slack Channel

First things first. You’ll need to make a new Slack channel where you can chat with ChatGPT.

Simply go to Slack and make a new chat space (channel). No worries about making it public or private; if you’re the only one using it, either is fine.

Crafting a Pipedream Workflow

Okay, now let’s make Pipedream do some work for us. You’ll set up a workflow in Pipedream that springs into action whenever something new happens in your Slack channel.

Here’s how to go about it: Open Pipedream and start creating a new workflow.

And then set it to respond to new Slack channel messages. Exclude bot-generated messages to prevent loops.

After that, send a test message in slack like:

Once it’s posted, you should see a new event on your Pipedream workflow.

From here, trigger the “Test Workflow” to view all related thread data.

After that, you’ll need to identify the thread’s timestamp. This ensures ChatGPT responses align with the correct Slack thread.

Next, grab any preceding messages from that thread to keep ChatGPT informed about the conversation’s context.

Now, it’s time to configure the ChatGPT segment.

Setting Up Function Calling

This feature essentially allows ChatGPT to understand our message, select the right API to call, and decide what data to send.

Given our example, we’d use the Users API to establish a new WordPress user. This requires us to inform ChatGPT about which API endpoint to use and the required data.

Based on the Users API, the relevant data comprises:

  • username
  • email
  • password
  • roles

Then, specify the ChatGPT function, accounting for the parameters it needs:

Here’s the code to facilitate function calling in ChatGPT:

import OpenAI from 'openai';

const callOpenAIAPI = async (openai, messages = [], functions = [], function_call = 'auto') => {
    const chatCompletion = await openai.chat.completions.create({
        model: "gpt-3.5-turbo-16k",
        messages: [...messages ],
        functions,
        function_call,
        temperature: 0
    });
    return chatCompletion;
}

const getFunctions = () => {
  return [
    {
      name: "create_user",
      description: "Creates a new user",
      parameters: {
        type: 'object',
        properties: {
          username: {
            type: 'string',
            description: 'The username of the user (based on the email address)'
          },
          email: {
            type: 'string',
            description: 'The email address of the user'
          },
          password: {
            type: 'string',
            description: 'Automatically generated random password containing 12 characters (uppercase, lowercase, numbers and symbols)'
          },
          roles: {
            type: 'array',
            description: 'The roles of the user. EX: ["administrator"], ["subscriber"]',
            items: {
              type: "string",
              enum: ["administrator", "author", "editor", "subscriber"]
            }
          },
        },
        required: [ 'username', 'email', 'password', 'roles' ]
      }
    }
  ]
}

export default defineComponent({
  props: {
    openai: {
      type: "app",
      app: "openai",
    }
  },
  async run({steps, $}) {
    const openai = new OpenAI({
      apiKey: this.openai.$auth.api_key
    });
    const newMessage = steps.trigger.event.text;
    const messages = steps.previous_messages.$return_value;
    const functions = getFunctions();

    messages.push({
      role: 'user',
      content: newMessage.trim()
    });

    return await callOpenAIAPI( openai, messages, functions );
  },
})

This code defines the function structure and expected parameters, enabling ChatGPT to interact correctly with the Users API.

After configuration, test the function to view ChatGPT’s feedback. When ChatGPT detects a function to execute, it provides instructions and necessary parameters.

Next, add a new Code step to prompt the API as per ChatGPT’s direction.

Here’s the code needed:

import axios from 'axios';

const websiteURL = '__your_website_url__';
const auth = {
    username: '__your_admin_username__',
    password: '__enter_your_application_password__'
};

const apiCreateUser = async (arg) => {
    const data = await axios({
        method: 'post',
        baseURL: `${websiteURL}/wp-json/`,
        url: '/wp/v2/users',
        data: JSON.parse(arg),
        headers: {
            'Content-Type': 'application/json',
        },
        auth
    });
    return data;
};

const callFunction = async (function_name, function_arguments) => {
    let response = null,
      reply_message = '';
    switch (function_name) {
        case 'create_user':
          response = await apiCreateUser(function_arguments);
          reply_message = response ? `User #${response.data.id} (${response.data.email}) has been created.` : '';
          break;
    }
    return reply_message;
};

export default defineComponent({
    async run({ steps, $ }) {
      let reply_message = '';
      const response_from_chatgpt = steps.process_user_message_with_chatgpt.$return_value.choices[0].message;
      const is_function_calling = response_from_chatgpt && response_from_chatgpt.function_call && response_from_chatgpt.function_call.name && response_from_chatgpt.function_call.name.length >= 0 ? true : false;

      if ( is_function_calling ) {
        reply_message = await callFunction(response_from_chatgpt.function_call.name, response_from_chatgpt.function_call.arguments);
      } else {
        reply_message = response_from_chatgpt && response_from_chatgpt.content ? response_from_chatgpt.content.trim() : '';
      }

      return reply_message;
    },
  })

This segment instructs Pipedream on how to act based on ChatGPT’s feedback, especially for creating new users on WordPress.

For this, you’ll need a WordPress application password. Learn how to generate one here: https://www.paidmembershipspro.com/create-application-password-wordpress/

After obtaining the password, you should update the auth variable with the appropriate credentials.

For instance, if your WordPress admin username is johndoe and the application password you have is d5Ry BhiF krEt hfro lc7Y aTlJ, then you should modify the auth variable as follows:

const auth = {
    username: 'johndoe',
    password: 'd5RyBhiFkrEthfrolc7YaTlJ'
};

Now turn your attention to the website URL. Replace the placeholder in the websiteURL variable with the actual URL of your WordPress site.

For example, if your site’s URL is https://www.johndoe.com, the updated websiteURL variable should look like this:

const websiteURL = 'https://www.johndoe.com';

Make sure to eliminate any trailing slashes from your URL.

Once these steps are complete, initiate a test to verify the configurations.

Upon obtaining the data response from WordPress, it would frame an appropriate reply for the Slack thread. This ensures ChatGPT stays updated on ongoing processes.

Lastly, add another step to send your response back to the originating Slack thread.

Execute a test action, and you’ll see your reply in Slack.

Integrating ChatGPT with WordPress is transformative. It heralds a new era in website management, blending cutting-edge AI with the simplicity of natural language commands.

Expanding Your AI Assistant’s Capabilities: Installing a Plugin from Slack

So far, we’ve looked at how ChatGPT can create new users in WordPress. But what if you want to go a step further?

Let’s add the functionality to install plugin through ChatGPT. This will make it even easier to manage your WordPress site.

Updating getFunctions to Install a Plugin

First, let’s update our getFunctions method to include a new function for plugin installation.

The following is your updated getFunctions method:

Code:

const getFunctions = () => {
  return [
    // ... (previous function definitions)
    {
      name: "install_plugin",
      description: "Installs and activates a new plugin",
      parameters: {
        type: 'object',
        properties: {
          slug: {
            type: 'string',
            description: 'The plugin slug from the WordPress.org directory.'
          },
          status: {
            type: 'string',
            description: 'Activation status of the plugin. Defaults to "active".',
            default: 'active',
            enum: ["active", "inactive"]
          }
        },
        required: ['slug']
      }
    }
  ]
}

In this code above, we added a new function called install_plugin. The function requires two parameters:

  • slug: This is the slug name of the plugin, usually derived from the WordPress.org plugin directory.
  • status: This indicates whether the plugin should be activated upon installation or not. It defaults to “active”.

Integrating Plugin Installation in the API Call

To handle the new install_plugin function, update the callFunction method in your code.

Here’s how it should look now:

Code:

const apiInstallPlugin = async (arg) => {
    const data = await axios({
        method: 'post',
        baseURL: `${websiteURL}/wp-json/`,
        url: '/wp/v2/plugins',
        data: JSON.parse(arg),
        headers: {
            'Content-Type': 'application/json',
        },
        auth
    });
    return data;
};

const callFunction = async (function_name, function_arguments) => {
    let response = null,
      reply_message = '';
    switch (function_name) {
        // ... (previous function cases)
        case 'install_plugin':
          response = await apiInstallPlugin(function_arguments);
          reply_message = response ? `"${response.data.name || 'Plugin'}" has been successfully installed and is ${response.data.status}.` : '';
          break;
    }
    return reply_message;
};

Here, the install_plugin case uses the apiInstallPlugin function to trigger the plugin installation via the WordPress API. The reply message will include the plugin name and its activation status.

The new apiInstallPlugin function is an asynchronous function that sends a POST request to the /wp/v2/plugins endpoint of your WordPress site. It expects arguments for the plugin slug and its activation status.

The callFunction function now handles the new install_plugin function, installing the plugin and returning a confirmation message with its name and status.

How to Test Plugin Installation

After setting this up, you can test it out in Slack:

Once posted, you should see a response in your Pipedream workflow. If all goes well, ChatGPT will confirm the plugin installation in the Slack thread.

Extending Further: Bulk Installation of Plugins

With ChatGPT, you can now manage users and install single plugins on your WordPress site.

But what if you want to install multiple plugins in one go?

The good news is that you can easily add this functionality, and it aligns perfectly with our modular approach.

Updating getFunctions for Bulk Plugin Installation

To accommodate the bulk installation of plugins, update your getFunctions method to include a new function named install_plugins.

Here’s the updated part:

Code:

{
    name: "install_plugins",
    description: "Installs multiple plugins at once",
    parameters: {
      type: 'object',
      properties: {
        plugins: {
            type: 'array',
            description: 'List of plugins to install',
            items: {
                type: 'object',
                properties: {
                    slug: {
                        type: 'string',
                        description: 'WordPress.org plugin directory slug.'
                    },
                    status: {
                        type: 'string',
                        description: 'The plugin activation status.',
                        default: 'active',
                        enum: ["active", "inactive"]
                    },
                },
                required: ['slug']
            }
        }
      },
      required: ['plugins']
    }
}

This function install_plugins takes an array of plugin objects, each containing:

  • slug: The slug name of the plugin as in the WordPress.org directory.
  • status: Activation status, defaults to “active”.

Implementing Bulk Installation in the API call

The function apiInstallPlugins performs the bulk plugin installation. It uses Promise.all to run all plugin installation asynchronously but waits for all of them to complete:

const apiInstallPlugins = async (arg) => {
    const { plugins = [] } = JSON.parse(arg);
    const data = await Promise.all(plugins.map(async (plugin) => {
            const response = await apiInstallPlugin(JSON.stringify(plugin));
            return response;
        }
    ));
    return data;
};

Next, the updated callFunction method handles the new install_plugins case:

case 'install_plugins':
    response = await apiInstallPlugins(function_arguments);
    if (response && response.length > 0) {
        reply_message = response.map((plugin) => `"${plugin.data.name || 'Plugin'}" has been installed`).join('\n');
    }
    break;

This case maps over the response array to create a string that lists the installed plugins.

Testing Bulk Installation

To test the new feature, you can instruct ChatGPT as follows:

ChatGPT will then send the appropriate API calls to install and optionally activate these plugins. Once the operation is complete, you’ll receive a confirmation message listing the installed plugins.


Conclusion

From creating new users to installing plugins — both individually and in bulk — integrating ChatGPT with WordPress has demonstrated a revolutionary way to manage your website.

The utility of this setup is not just confined to these examples; the possibilities are virtually endless.

You can adapt and extend this approach to cover a wide array of functionalities like post management, theme customization, SEO setup, and much more.

It’s really up to your imagination and the specific needs of your project.

If you’re looking to fast-track this experience, I’ve created a Pipedream workflow that you can easily clone and use for your own setup.

Get started right away by clicking on this link: Clone Pipedream Workflow.

In essence, what I’ve done is blended the capabilities of AI and web development to create an efficient, responsive, and highly customizable WordPress management system.

The future is exciting, and with tools like ChatGPT and platforms like Pipedream, we’re only scratching the surface of what’s possible.

So go ahead, unleash your creativity, and supercharge your WordPress management experience today.