Using one AI agent works for small tasks.
But once there are multiple steps — building, checking, updating, monitoring — things start to fall apart.
So, you need to structure AI into a system that can handle it.
Here’s how to set that up.
This system takes a request and moves it through a structured process that:
Request → Plan → Change → Preview → Approve → Monitor
Each step does one job. Together, they run with minimal manual work.
We’ll use one example the whole way through: Update contact page copy (e.g., change or rewrite the text)
Set up a form in Jotform.
Add:
Click Publish
Result: This form collects change requests (like changing text on a page). Once published, each submission triggers the workflow.
Open n8n and click Create Workflow
Add your first node: Jotform Trigger
You should now see the form data inside n8n.
This is your trigger.
Result: Each submission now enters n8n and starts the workflow.
Paste:
Pick ONE file to change.
Return:
- file path
- branch name
- short summary
Only choose content files.
Map:
In your AI node, use values from the Jotform Trigger node as inputs.
Build your prompt like this:
Update the file based on this request:
What should change:
{What should change}
Definition of done:
{Definition of done}
Risk level:
{Risk level}
Keep the structure the same. Only change what is needed.
How to insert those fields in n8n
Repeat for the other fields.
Click Execute Node
You should see:
Result: The AI decides what file to change and how to change it.
Add node: GitHub → Get File
Set:
This fetches the current version of the file.
Add next node: AI (text generation)
Paste this (or similar):
Update this file based on the request.
Keep the structure the same.
Only change what is needed.
Add next node: GitHub → Edit File
In the GitHub → Edit File node:
Click into File path
Click into Branch name
Click into Content
Run workflow
Result: A new version of the file (with the updated content) is saved in your repository.
This is the step where the system makes a real change.
Set this up once in Vercel
Now, every time your workflow creates or updates a branch in GitHub:
When that branch is later merged:
Result: Each change can be viewed and checked before it goes live.
Do not automate this.
Create a second form in Jotform:
Flow: n8n sends the preview link → you check → you approve or reject
Result: You review each change before it goes live.
This is your quality control step.
In GitHub: Click Add file → Create new file
.github/workflows/check.yml
Paste this:
name: Check site
on:
schedule:
- cron: "0 0 * * *"
jobs:
check:
runs-on: ubuntu-latest
steps:
- run: curl -f https://your-site.vercel.app
Commit
Result: The system automatically checks that your site is still working after changes.
This is the monitor agent.
That’s it.
You now have a controlled system for making changes safely, from request to verification.
Each step is separate and clearly defined — that’s what makes it reliable.