Decision Model AI Text Humanizer
Humanize AI-assisted text in up to five agent rounds. Decision Models check every five-sentence batch and keep the best-scoring rewrite.
The full canvas, before you import it
Click any node to see its config.
Click a node to select it — same as the Heym editor; the panel shows its settings.
19 nodes · Free & source-available
Decision Model AI Text Humanizer
AI-assisted drafts tend to share a sound: even sentence lengths, formal transitions, textbook definitions, and filler such as "delve", "moreover" or "leverage". Readers pick it up in a line or two. This template gives the rewrite to an agent and the judging to Decision Models. The agent fixes the message five sentences at a time and checks each batch as it goes. The workflow then scores the whole message after every round and keeps the best version it has seen.
Before and after
One run on a mixed draft: a product blurb, a personal note, and a textbook definition.
Before: AI score 0.96
Not every step in an AI workflow needs the same model.
Heym Decision Models can route tasks across different LLMs, evaluate outputs, add confidence gates, and make runtime decisions inside agentic workflows.
We also show JEV and Laya as examples of a decision model. I used AI to help sharpen my draft. The structure is cleaner now, but the core idea — that procrastination is fear, not laziness — is still mine.
Procrastination is defined by the voluntary delay of intended actions despite awareness of negative consequences. Research indicates it stems from emotional regulation difficulties rather than poor time management.
After: AI score 0.27
You don't need the same model for every little step tbh.
With Heym I just send stuff where it fits. I'll try like two or three LLMs real quick, pick whatever doesn't suck, sometimes I add a confidence gate if I'm not sure. Then the agent just keeps going.
I dropped in JEV and Laya cause they show the decision thing well imo. Used AI a little to tighten up my draft. Reads smoother now but that fear not laziness bit on procrastination, yeah that was all me.
Procrastinating is just pushing stuff back even when you know it'll screw you over. Honestly from what I've seen it's not really about managing time, it's you dodging the stressy feelings that come with it.
The score fell from 0.96 to 0.27 because the rewrite changed what a reader notices first. The em dashes are gone, contractions replace formal phrasing, sentence lengths vary, first-person asides ("imo", "yeah that was all me") carry the voice, and the dictionary-style definition becomes one plain sentence. The links, line breaks and the order of ideas stay where they were. Your numbers depend on the decision model, the LLM and the draft itself.
How the workflow works
- Score the whole message. scoreBefore asks two questions about
$userInput.body.text.is_aiis a Noul question: the probability that at least one sentence shows AI-writing signals such as em or en dashes, formulaic structure, generic filler, triple parallel constructions or an evenly polished tone.ai_levelis a Score question across five levels, fromfully_humantofully_ai. - Set up the rounds. Five Variable nodes store
currentText,currentScore,bestText,bestScoreandrounds, an array of five items that humanizeLoop iterates over. - Rewrite while the score is high. Each round, needsFix checks
$vars.currentScore >= 0.20. Above the target, humanizeAgent runs. Once a round lands under 0.20, the remaining rounds pass through breakLoop and the agent is not called again. - Fix five sentences at a time. humanizeAgent splits the message into numbered sentences and sends each batch of five to checkAi, a Decision node attached as a tool. The agent writes the batch into the tool's
statefield at run time. Batches under 0.20 stay as they are. Batches above it get their AI-sounding sentences rewritten and re-checked, up to 15 attempts per batch, withai_leveltelling the agent how hard to push. URLs, line breaks and the signature are kept exactly. - Keep the best round. scoreRound scores the full rewrite with the same two questions as scoreBefore. scoreImproved compares the new score with
bestScore, and only a lower score moves the text intobestText. A weaker round never replaces a stronger one. - Return the result. When the loop is done, finalOutput returns
beforeText,afterText,beforeScoreandafterScore, where the after values are the best round.
Three checkpoints, one yardstick
| Checkpoint | Node | Reads | Decides |
|---|---|---|---|
| Before | scoreBefore | The full message | The starting score and the first bestScore |
| Per batch | checkAi (agent tool) | Five sentences | Whether the agent rewrites or keeps the batch |
| Per round | scoreRound | The full rewrite | Whether this round becomes bestText |
All three ask the same questions with the same criteria, and a decision model returns a calibrated probability instead of generated text. That is what makes the numbers comparable: 0.27 after a round means the same thing as 0.96 before it, so "keep the best version" is a plain numeric comparison. Our write-up on System One models explains how decision models such as Jev and Laya produce these probabilities.
Setup
- Copy the template into the Heym canvas.
- Create a Decision Model credential and select it on scoreBefore, checkAi and scoreRound. The example model is
jev-latest. Laya speaks the same wire format, so a self-hosted Laya endpoint works with the same questions. - Select an LLM credential on humanizeAgent. The example uses
muse-spark-1.3-contributorwith the Responses API at temperature 0.1. Pick a model your credential serves, and turn the Responses API toggle off for a Chat Completions endpoint. - Run with the sample draft, then paste your own message into the
textfield of userInput.
Tune it
- Target score: 0.20 appears in needsFix and in the agent's system instruction. Change both together.
- Rounds:
$array(1, 2, 3, 4, 5)in initRounds sets up to five whole-message rounds. - Batch size and attempts: five sentences per batch and 15 attempts per batch live in the agent's system instruction.
maxToolIterationsis 100; raise it for long messages. - AI signals: edit the question instructions on all three Decision nodes at once so the checkpoints keep measuring the same thing.
Read the output
beforeScoreandafterScoreare probabilities from 0 to 1. Lower means the text reads more like a person wrote it.- An
afterScoreabove 0.20 means no round reached the target andafterTextis the closest version the workflow produced. - The score describes writing style as your decision model reads it, which makes it a strong editing signal. Read the rewrite for accuracy before you publish it, since a casual voice can soften a precise claim.
Keep node labels stable so the expressions continue to resolve.
How to import this template
- 1Click Import → Copy JSON on this page.
- 2Open your Heym and navigate to a workflow canvas.
- 3PressCmd+V/Ctrl+V— nodes appear instantly.
- 4Add your API keys in the node config panels and click Run.
Discover more automations
- Marketing & SEOReddit Subreddit GET Tool CallLet an Agent call a no-key HTTP GET tool that fetches hot posts from a subreddit JSON feed.
- Marketing & SEOGemini Image CreatorGenerate images from a text prompt using Gemini's native image output.
- Marketing & SEODaily Telegram Google Analytics MCP ReportSend a daily Telegram summary by letting an Agent query Google Analytics through an MCP server.
- Marketing & SEOAI Content RepurposerPaste a blog URL — fetch the article and get a ready-to-post LinkedIn update and Twitter/X thread in one run.
- Marketing & SEOSocial Media Post GeneratorRun on a weekly schedule — generate ready-to-publish LinkedIn and Twitter posts for each topic in your content calendar and send drafts to Slack for review.
- Marketing & SEOSEO Keyword Opportunity FinderFetch low-hanging keyword data from Google Search Console weekly, score each query for content opportunity with AI, and save high-value targets to a DataTable for your editorial team.
- Marketing & SEOYouTube Channel RSS to CSV — SKILL.md & Python Tutorial TrackerFetch any YouTube channel's public RSS feed and export video titles, URLs, and publish dates as a clean CSV — great for tracking SKILL.md and Python tutorial creators like Nate Herk.
- Marketing & SEOAI Viral Video Generator & TikTok PublisherRead topics from Google Sheets, generate short videos with the VEO 3 API, and upload each one to TikTok automatically.
- Marketing & SEOGoogle Analytics AI AgentAsk plain-language questions about your GA4 property — the Agent queries Google Analytics through analytics-mcp and returns metrics, reports, and insights.
- Marketing & SEOGoogle Search Console AI AgentQuery Search Console data in plain language — the Agent uses mcp-search-console to answer questions about rankings, impressions, clicks, and indexing status.
- Marketing & SEOCompetitor Launch Radar to SlackFetch competitor update feeds on a schedule, summarize launch signals with AI, and post the market brief to Slack.
- Marketing & SEOText Readability Scorer (Agent Skill)An agent runs a bundled Python skill that scores text for readability with Flesch Reading Ease and grade level.