AI workflow software: where software fits, and where it does not
Some processes should be software, some should be a document, and some should not exist. Deciding which before buying or building anything.
On this page
- What we'll cover
- Key takeaways
- Three ways to run a process
- What makes something suitable for software
- What should stay a document
- Building it with CodeWords
- Readiness, which is mostly about the data
- The sequence that works
- Signs you are automating too early
- Deciding it is not worth it
- Measuring the saving honestly
- Keeping automated workflows working
- The half-automated process
- Limits worth knowing about
- What to do first
- Frequently asked questions
- Related reading
Workflow software is the right choice only when a process has high frequency, stable rules and clear inputs. Many processes teams want to automate should be a written procedure, a shared document or nothing, because encoding an unexamined process in software makes it permanent.
Software handles repetition well and ambiguity badly. Most stalled automation projects are ambiguity that someone mistook for repetition.
What we'll cover
- Three ways to run a process
- What makes something suitable for software
- What should stay a document
- Building it with CodeWords
- Readiness, which is mostly about the data
- The sequence that works
- Signs you are automating too early
- Deciding it is not worth it
- Measuring the saving honestly
- Keeping automated workflows working
- The half-automated process
- Limits worth knowing about
- What to do first
- Frequently asked questions
Key takeaways
- A process belongs in software only if it runs often, follows stable rules and has clear inputs and outputs.
- Document the process as it actually happens before you automate it, and count the exceptions instead of describing them.
- Fix inconsistent identifiers and missing data first, because automation built on a data problem makes that problem permanent.
- Measure the baseline by timing the real process, then re-measure after a quarter.
- Deciding not to automate is a valid outcome and beats a half-built automation that nobody owns.
Three ways to run a process
A process runs in one of three ways: in software, in a document, or in somebody's head.
In software, the steps are executed and enforced.
In a document, the steps are described and a person follows them.
In somebody's head, the process works until that person is unavailable. This is the default.
Each way fits somewhere. Keeping a process in one expert's head is fine for something done twice a year. Software is the most expensive option to create and to change, which is the cost people underestimate. Move up the list deliberately, since each step adds rigidity along with reliability.
What makes something suitable for software
A process suits software when it meets these six conditions:
High frequency, since the build cost is spread over many runs.
Stable rules that nobody renegotiates each time.
Clear inputs and outputs, so the boundaries are definable.
Low ambiguity in what should happen. Teams assume this property most often and check it least.
Consequences of variation. It matters that the process runs the same way each time.
Available data. If a system does not hold the information the process needs, software cannot reach it.
What should stay a document
A process should stay a document when software would cost more than it saves or would constrain people who need flexibility.
Low frequency, high judgement work. The cost of encoding exceeds the benefit.
Anything still changing. Do not set a process in software while someone is redesigning it.
Work where exceptions are the norm. This describes more processes than people admit.
Anything requiring negotiation between people. A workflow tool models negotiation badly.
Knowledge work with an unpredictable shape. A checklist helps, and a workflow constrains.
A good document is underrated. It is cheap, changeable, and handles the case where someone needs to do the work differently this once.
Building it with CodeWords
CodeWords connects to more than 3,000 integrations (CodeWords pricing page, 2026), and you make each connection once and reuse it. To build a workflow:
- Open CodeWords and start a new automation.
- Describe what should happen in plain language to Cody, the automation builder: the steps, the decisions, and what stays with a person.
- Authorize the connections the process needs.
- Describe the exceptions: an input that does not fit, a decision requiring judgement, a system that is unavailable.
- Run it alongside the existing way of working before replacing anything.
You describe the outcome, and Cody builds it, connects it and deploys it. The Free plan costs $0, Pro costs $39 per month and Business costs $100 per month (CodeWords pricing page, 2026). Details are on the pricing page.
Readiness, which is mostly about the data
A process is ready for automation when the data it needs exists, is accurate and has an owner. Check four things:
The data must exist in a system, in a usable form.
The data must be accurate enough. Automation applies the same rule to bad data faster.
Identifiers must be consistent across the systems involved. This is the most common blocker in practice.
Someone must own the data quality. Without an owner, the automation exposes a problem that nobody will fix.
Fix the data first where it is the blocker, because building around a data problem encodes it permanently. Be honest at this step: "the data is fine" is the assertion that most often comes before a stalled implementation.
The sequence that works
Automation succeeds in six steps, in this order:
- Document the process as it actually happens, not as it is supposed to happen.
- Simplify it. Remove steps that do nothing and settle the disagreements.
- Measure it. A baseline makes the improvement knowable instead of asserted.
- Automate the stable part and leave the judgement with people.
- Measure again against the baseline.
- Iterate on what the measurement shows. The result is usually not what anybody predicted.
Signs you are automating too early
You are automating too early when the process is still being defined. Six signs show it:
Nobody can describe the process the same way twice.
Every run has an exception, which means the rules are not the rules.
The requirements change during the build, which shows the process is still being designed.
Stakeholders disagree about what should happen, and the build is being used to avoid settling the question.
The data does not support the process, and the plan is to clean it up later.
Someone is about to reorganise the function, which will invalidate whatever you build.
Deciding it is not worth it
Deciding not to automate is a legitimate outcome, and it beats a half-built automation that someone maintains reluctantly. Stop when one of these applies:
Volume is too low to repay the build and the maintenance.
The process is changing. A moving target is expensive to encode.
The systems cannot be reached, and export-based workarounds cost more than the saving.
The saving is fragmented. Five minutes saved across forty people is real, but you cannot capture it.
Nobody will own the automation, so it will break and stay broken.
Measuring the saving honestly
A business case usually rests on an estimate from the person proposing the work, which is the least reliable source available. Measure instead:
Measure the baseline first by timing the actual process, not by asking how long people think it takes.
Include the interruption cost. Work that arrives unpredictably costs more than its duration.
Count the exceptions separately. The automated path and the exception path have very different costs.
Subtract the maintenance. It is a recurring cost, and almost every business case leaves it out.
Ask what happens to the saved time. Saved hours that go back into the same queue are real. Saved hours that nobody can identify afterwards were not.
Re-measure after a quarter. It is uncomfortable, and it is the only way to learn which estimates in your organisation are reliable.
Keeping automated workflows working
An automated workflow keeps working when it has a document, an owner and a manual fallback.
Keep the document after automating. It is what someone reads when the automation fails.
Name an owner before building, not after.
Build the smallest useful version and extend it. A full version designed up front encodes assumptions that turn out to be wrong.
Keep a manual path for the cases the software does not cover.
Report the outcome, so someone can see whether the workflow still does what it was built for.
The half-automated process
The most common end state is neither a failed automation nor a working one. The process is automated for ordinary cases and manual for the rest, and nobody owns the join. This state has four effects:
The exception path atrophies. People rarely do the manual version, so they forget how, and then cannot do it when the automation fails.
Knowledge disappears. The reasoning behind the encoded rules leaves with whoever wrote them, and the remaining team can operate the workflow but not change it.
Exceptions accumulate as the world changes and the rules do not, so the manual share grows quietly each year.
Nobody measures the split, so the drift stays invisible until someone notices that people handle most items by hand.
To prevent this, report the automated share as a standing number. A falling percentage is the earliest signal that the rules no longer match reality. Also keep the manual path exercised. It sounds wasteful, and it makes an automation failure survivable.
Limits worth knowing about
Workflow software has five limits.
Software is rigid. That is both the point and the cost.
Change is expensive once other systems depend on the workflow.
Encoded processes outlive their rationale, and nobody revisits them.
The saving is often smaller than the estimate, because the estimate was made without a measured baseline.
Organisational problems are not software problems. Encoding one makes it harder to fix.
What to do first
Document the process as it actually happens, and count the exceptions instead of describing them. This takes a few hours. It often shows that two people do the work differently, and it answers whether the problem calls for software, a document, or a settled disagreement.
Two habits make the difference. First, count the exceptions before assuming a process is repetitive: a process where every run has an exception is ambiguity, and software handles it badly. Second, fix the data before building around it, because an automation built on a data problem encodes that problem permanently.
Frequently asked questions
Should every repetitive process be automated?
No. Some repetitive processes should be a written document, some should stay in somebody's head, and some should not exist. Software is the most expensive option to create and to change, so moving a process into software should be a deliberate decision.
What makes a process suitable for software?
A process suits software when it has high frequency, stable rules, clear inputs and outputs, low ambiguity, consequences if it varies, and data that exists in a system. Teams assume low ambiguity most often and check it least.
What should stay a document?
Keep low-frequency, high-judgement work as a document, along with anything still changing, processes where exceptions are the norm, work that needs negotiation between people, and knowledge work with an unpredictable shape.
What is the most common blocker in practice?
Inconsistent identifiers across the systems involved are the most common blocker. After that come data that does not exist in any system and data that is too inaccurate for a rule to use.
How do I know I am automating too early?
You are automating too early if nobody describes the process the same way twice, every run has an exception, requirements change during the build, stakeholders disagree about what should happen, or a reorganisation is coming.
What is the right sequence?
Document what actually happens, simplify, measure a baseline, automate the stable part, measure again, and iterate on what the measurement shows. The result is usually not what anybody predicted.
Is deciding not to automate a failure?
No. Deciding not to automate beats a half-built automation that someone maintains reluctantly. Low volume, a changing process, unreachable systems or a missing owner are all legitimate reasons to stop.
Should I keep the document after automating?
Yes. The document is what someone reads when the automation fails, and it records the intent that the code does not contain.
How do I know the automation saved anything?
Time the actual process before building, count the exception path separately, subtract the maintenance, and re-measure after a quarter against that baseline. Do not rely on the proposer's estimate.
Why measure the baseline before building?
After the build there is nothing to compare against. The estimate from whoever proposed the work is the least reliable number available, so a timed baseline is the only fair comparison.
What is the most common end state?
The most common end state is a half-automated process: automated for ordinary cases, manual for the rest, with nobody owning the join. The manual share grows quietly as the world changes and the rules do not.
How do I detect that drift?
Report the automated share as a standing number. A falling percentage is the earliest signal that the encoded rules no longer match reality. Nothing else shows the drift until someone notices that people handle most items by hand.