Showcase PUZZLE #128

Fine-Tuned Copywriter Agent

Clue: Build the system in layers. Fine-tuned model first, Telegram trigger second, command filter third, response generation last. The bot should not behave like an open chat. It should behave like a command-based copywriting tool.
Layer 1 · Model
Fine-Tuned GPT-4.1
Supervised training for direct response. Strictly outcome-driven, never sells "a website".
Layer 2 · Trigger
Telegram Trigger
Subscribes to message updates, extracting chat IDs and incoming prompts.
Layer 3 · Guardrail
Command Filter
Strict regex filter: only processes /ask. Casual chat is dropped without burning tokens.
Layer 4 · Delivery
Agent & Reply
AI Agent generates copy and sends formatted message with quote reply to Telegram.
n8n Workflow Execution Canvas
Status: Idle / Ready
Trigger
Telegram Trigger
Updates: message
➔
Filter
If (/ask)
starts with /ask
➔
LangChain Agent
AI Agent
strip /ask & invoke
ft:gpt-4.1-2025-04-14 Simple Memory
➔
Formatter
Code
shape reply payload
➔
Action
Telegram1
sendMessage: message
Telegram Bot Simulator
Command Mode
✍️
Copywriter AI Bot @copywriter_ai_bot
command-based copywriting tool
/ask Write a short cold email to a real estate agent. Do not sell "a website." Position the offer around helping them capture more buyer/seller leads, book more enquiries, and stop losing prospects through a weak online system. Keep it simple, direct, and focused on the business outcome.
11:42 AM ✓✓
Copywriter AI Bot
/ask Write a short cold email to a real estate agent. Do not sell "...
SUBJECT: More viewings booked, no more lost buyers Hi Name, Quick one, your next client is landing on your site before ever picking up the phone. If your online system isn't capturing every lead, you're losing business to agents who've fixed this gap. We make sure you get more calls and bookings, right from your digital first impression. Ten minutes, see what's missing? Book a slot - Your Name
11:42 AM
⚡ Starts with /ask: Valid
Strict Layer 3 Filter
Click to test prompts:
Fine-Tuned Model Identifier
ft:gpt-4.1-2025-04-14:personal:copywriter:BodeCvDG
Succeeded
Job ID ftjob-L1jcZMfBj02UPVJbGCIN70ys
Base Model gpt-4.1-2025-04-14
Suffix copywriter
Trained Tokens 190,521
Hyperparameters Epochs: 3 · Batch: 2 · LR: 2
Data Sharing / Seed Private · 1369770525
Select Example:
10 Chat Pairs Enforcing Style
✓ SUBJECT: Formatted ✓ Outcome Hook ✓ 0 "a website" or "an app" mentions ✓ Low-friction CTA
User Prompt (Training Input)
Assistant Target (Fine-Tuned Output)
[11:42:00] [Telegram Trigger] Received message update from chat 6811413428
[11:42:00] [If] Condition evaluated TRUE: message starts with "/ask"
[11:42:01] [AI Agent] Invoking model ft:gpt-4.1-2025-04-14:personal:copywriter:BodeCvDG...
[11:42:01] [Code] Generated 4 lines, attached reply_to_message_id=1042
[11:42:01] [Telegram1] Dispatched sendMessage to Telegram chat successfully
House Style System Prompt
You are an expert direct-response copywriter. Write short, punchy B2B cold emails and marketing copy. Position the OUTCOME, never the product or deliverables. Never call something 'a website' or 'an app' — sell the business result (more leads, more bookings, fewer lost prospects, higher retained revenue). Format every output with a clear SUBJECT line, a personal greeting, a tight 1-2 sentence hook, 1-2 lines on the solution outcome, a one-line CTA, and sign-off.
n8n Workflow JSON Snippet (AI Agent & Model)
{
  "name": "🧩#128 - Fine-Tuned Copywriter Agent (Telegram Bot)",
  "nodes": [
    { "name": "Telegram Trigger", "type": "n8n-nodes-base.telegramTrigger" },
    { "name": "If", "type": "n8n-nodes-base.if", "parameters": { "conditions": { "leftValue": "={{ $json.message.text }}", "operator": "startsWith", "rightValue": "/ask" } } },
    { "name": "AI Agent", "type": "@n8n/n8n-nodes-langchain.agent" },
    { "name": "OpenAI Chat Model", "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", "parameters": { "model": "ft:gpt-4.1-2025-04-14:personal:copywriter:BodeCvDG" } },
    { "name": "Simple Memory", "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow" },
    { "name": "Code", "type": "n8n-nodes-base.code" },
    { "name": "Telegram1", "type": "n8n-nodes-base.telegram" }
  ]
}