This workflow follows the Chainllm → Form Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Tribal Cowboy - Brand Voice",
"nodes": [
{
"parameters": {
"formTitle": "Tribal Cowboy \u2014 Brand Voice Review",
"formDescription": "Paste any content before it goes out \u2014 captions, emails, proposals, SMS \u2014 and get a brand voice check with a corrected version.",
"responseMode": "onReceived",
"formFields": {
"values": [
{
"fieldLabel": "Content Type",
"fieldType": "select",
"requiredField": true,
"fieldOptions": {
"values": [
{
"option": "Instagram Caption"
},
{
"option": "Facebook Post"
},
{
"option": "TikTok Caption"
},
{
"option": "Email"
},
{
"option": "SMS Message"
},
{
"option": "Proposal"
},
{
"option": "Website Copy"
},
{
"option": "Other"
}
]
}
},
{
"fieldLabel": "Content to Review",
"fieldType": "textarea",
"requiredField": true,
"placeholder": "Paste the full content you want reviewed here..."
}
]
},
"options": {
"respondWithOptions": {
"values": {
"formSubmittedText": "Your content is being reviewed and the corrected version will be emailed to you shortly."
}
}
}
},
"id": "form-trigger-voice",
"name": "Content Review Form",
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.2,
"position": [
240,
300
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "prompt-var",
"name": "prompt",
"value": "=Review this Tribal Cowboy content for brand voice consistency.\n\nContent type: {{ $json['Content Type'] }}\nContent to review: {{ $json['Content to Review'] }}\n\nReturn the full Brand Voice Review including: Overall Assessment, What's Working, What Needs Fixing (table format), Revised Full Version, and Brand Voice Score out of 10.",
"type": "string"
}
]
},
"options": {}
},
"id": "set-prompt-voice",
"name": "Build Prompt",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
460,
300
]
},
{
"parameters": {
"promptType": "define",
"text": "={{ $json.prompt }}",
"messages": {
"messageValues": [
{
"message": "You are the Brand Voice Agent for Tribal Cowboy LLC \u2014 the final gatekeeper for all written communication.\n\nTRIBAL COWBOY VOICE ATTRIBUTES:\n1. Warm \u2014 real human warmth, not stiff or corporate\n2. Confident \u2014 know our worth, no hedging, no apologizing\n3. Celebratory \u2014 language feels like a celebration\n4. Authentic \u2014 no buzzwords or corporate speak\n5. Community-rooted \u2014 we care about people, not just clients\n6. Professional \u2014 grammar matters, no typos, polished\n\nUSE: unforgettable, let's make this happen, we'd love to, your celebration/event/moment, investment, secure your date, community, family, together\n\nAVOID: just (minimizing), sorry to bother, cheap/affordable/budget-friendly, ASAP, to whom it may concern, synergy/leverage/holistic/solutions, pleased to inform, all caps outside headers\n\nREVIEW FORMAT:\n\n**Brand Voice Review: [Content Type]**\n\n**Overall Assessment:** [On-brand / Needs work / Off-brand] \u2014 1 sentence\n\n**What's Working:**\n- [specific strong elements]\n\n**What Needs Fixing:**\n| Original | Issue | Revised |\n|----------|-------|---------|\n| [quote] | [why off] | [fixed] |\n\n**Revised Full Version:**\n[complete corrected version]\n\n**Brand Voice Score:** [X/10] \u2014 with note on what would make it a 10\n\nRULES: Always provide the full corrected version. Explain the WHY behind every change. Standard: would this make Tribal Cowboy proud?"
}
]
},
"batching": {}
},
"id": "llm-chain-voice",
"name": "Brand Voice Agent",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"typeVersion": 1.5,
"position": [
680,
300
]
},
{
"parameters": {
"model": "claude-sonnet-4-6",
"options": {
"maxTokensToSample": 4096
}
},
"id": "claude-model-voice",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"typeVersion": 1.3,
"position": [
680,
500
]
},
{
"parameters": {
"sendTo": "info@tribalcowboy.com",
"subject": "=\ud83c\udf99\ufe0f Brand Voice Review \u2014 {{ $('Content Review Form').item.json['Content Type'] }}",
"emailType": "text",
"message": "=Brand Voice review complete:\n\nCONTENT TYPE: {{ $('Content Review Form').item.json['Content Type'] }}\n\nORIGINAL:\n{{ $('Content Review Form').item.json['Content to Review'] }}\n\n---\nREVIEW & CORRECTED VERSION:\n\n{{ $json.text }}"
},
"id": "gmail-voice",
"name": "Email Brand Voice Review",
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
900,
300
]
}
],
"connections": {
"Content Review Form": {
"main": [
[
{
"node": "Build Prompt",
"type": "main",
"index": 0
}
]
]
},
"Build Prompt": {
"main": [
[
{
"node": "Brand Voice Agent",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model": {
"ai_languageModel": [
[
{
"node": "Brand Voice Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Brand Voice Agent": {
"main": [
[
{
"node": "Email Brand Voice Review",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Tribal Cowboy - Brand Voice. Uses formTrigger, chainLlm, lmChatAnthropic, gmail. Event-driven trigger; 5 nodes.
Source: https://github.com/mrshuffhines-byte/tribal-cowboy-webhook/blob/94090e151cf99ff9720580a7aa652fe63ddd4f0b/n8n-workflows/08-brand-voice.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Tribal Cowboy - Brand Design. Uses formTrigger, chainLlm, lmChatAnthropic, gmail. Event-driven trigger; 5 nodes.
Submit a research topic through a form and receive a professionally styled executive report in your inbox — fully automated, with built-in scraping resilience.
Stop wasting time on leads that will never convert. This workflow scores every inbound form submission 1-10 using Claude AI, then automatically replies and routes based on fit — hot leads get an insta
Content - Newsletter Agent. Uses formTrigger, chainLlm, outputParserStructured, httpRequest. Event-driven trigger; 91 nodes.
Content - Newsletter Agent. Uses formTrigger, chainLlm, outputParserStructured, httpRequest. Event-driven trigger; 87 nodes.