AI Agent Development Guide 2026: From Task to Safe Workflow
A practical guide to deciding when an AI agent fits a business process, then defining tools, permissions, approvals, tests, traces, and upkeep.
An agent earns its place in a workflow when its work, tools, permissions, and human checkpoints can be described and tested.
Syntalith
An AI agent is an application that uses a model inside a defined process. It may read context, select a tool, call a system, and return a result. The application still owns authentication, validation, permissions, error handling, approvals, and the record of what happened.
That definition leads to the first buyer decision: does the process need an agent, or would a deterministic workflow solve it more reliably? A workflow is often the better fit when every branch is known. An agent is useful when the input is partly unstructured and the system can still limit the available actions and review the result.
Start with one unit of work
Choose a process with:
- a repeatable trigger and an identifiable owner;
- a small set of input sources;
- a bounded set of actions;
- a clear result that a person can inspect;
- a known consequence when the system pauses or fails;
- a tolerable error cost after controls are applied.
Good first scopes include classifying support requests, checking document completeness, preparing an internal CRM note, or drafting a response for a human to review. Poor first scopes include "run customer service", unrestricted executive access, and decisions that affect health, credit, employment, or legal rights without a formal control process.
Write the process in business language before discussing models. A short scope statement should answer:
| Question | Example answer |
|---|---|
| What starts the run? | A new support request enters the queue |
| What context is allowed? | The request, customer account, and approved procedures |
| What work does the agent perform? | Classify the request and draft an internal next step |
| What actions can it take? | Add an internal note and route the queue item |
| What requires approval? | Any message sent to a customer or change to an account |
| How does it finish? | A result, a clear pause, or an escalation ticket |
Write an agent contract
The contract is more useful than a long system prompt. It defines the process that the code and tests must enforce.
Name: support-request triage
Purpose:
classify a new request, collect approved context, and prepare the next step
Inputs:
request text, customer identity after authentication, approved procedures
Allowed actions:
add an internal note, set a queue category, route to a team
Approval actions:
send a customer message, change an account, issue a refund, close a case
Out of scope:
price commitments, legal conclusions, health advice, and policy changes
Required result:
category, evidence, missing information, next owner, and trace reference
Stop conditions:
missing identity, conflicting sources, unsupported request, tool failure,
or a policy question that needs an authorised person
The contract gives product, security, operations, and engineering one object to review. It also makes a later decision easier: if the process cannot be described in this way, it is not ready for an agent build.
Minimal architecture
Keep the layers explicit:
Trigger or interface
email, form, chat, queue, webhook, or schedule
Orchestration
state, step limits, timeouts, retries, approvals, and escalation
Model
classification, extraction, planning, and response drafting
Tools
small functions for the CRM, ticket system, knowledge base, or calendar
Policies
identity, permissions, data classes, write limits, and retention
Evaluation and operations
test cases, traces, error review, cost records, and rollback controls
The model is one component. The orchestration layer decides whether a tool call is permitted, whether the run can continue, and what to do when a source or tool fails. The policy layer enforces rules independently from model instructions.
Tool design
Give the agent narrow, typed tools with a clear contract. Examples:
find_customer_by_email(email)
get_open_orders(customer_id)
create_internal_note(ticket_id, body)
request_refund_review(order_id, reason, amount)
Avoid a general database query, unrestricted record updates, or a shell command. A write tool should specify:
- the exact fields it accepts;
- authentication and ownership checks;
- validation and allowed state transitions;
- idempotency for retries;
- error categories and safe fallbacks;
- whether approval is required;
- the audit fields it returns.
The model may suggest a tool call. The tool implementation must validate the input and enforce the rule without trusting the model. This protects the workflow when a retrieved document contains an instruction that conflicts with the application's policy.
Permissions and human approval
Use a technical identity with the smallest useful set of permissions. Access to a user's account should come from an authentication check that the application enforces; the model's assumption about who is speaking carries no authority.
| Action | Default mode | Control |
|---|---|---|
| Read an approved public procedure | Automatic | Source and request trace |
| Read a customer's record | Automatic after authentication | Role check and field minimisation |
| Add an internal note | Automatic when idempotent | Audit record |
| Send a customer message | Approval | Preview and explicit approval |
| Change an order or issue a refund | Approval | Limit, validation, and audit |
| Delete records or change permissions | Manual process | No model tool |
Approval is a workflow state. Define who approves, what they see, how long a request can wait, what happens after rejection, and how the decision is recorded. The OpenAI Agents SDK human-in-the-loop guide describes an approval flow that pauses tool execution and resumes the run after a decision. The same design principle applies to other runtimes.
Knowledge and retrieval
Retrieval helps an agent find an approved source. It does not make an old policy current or settle a conflict between two owners. Create a source register with:
- document owner and review date;
- version and effective date;
- allowed audience and data class;
- replacement or expiry rule;
- the response fields that may cite the source.
Return source identifiers with the retrieved context. Store them in the trace so a reviewer can see what supported the result. If the source is missing or contradictory, the agent should stop and ask for a decision.
Evaluations before production
Build the test set before connecting write tools. Include normal cases, incomplete inputs, conflicting documents, tool errors, permission failures, prompt injection attempts, and requests outside the contract.
Evaluate separate dimensions:
- task classification or extraction;
- evidence and source selection;
- correct tool choice and arguments;
- permission and approval behaviour;
- refusal and escalation;
- output format and completeness;
- latency, token usage, and failure recovery.
Set a threshold that reflects the cost of an error. A model score without a reviewable example is not enough. Keep a small regression set and run it after a prompt, model, tool, source, or policy change.
Traces, errors, and cost
Each run should leave a useful record:
- trigger and authenticated actor;
- model and prompt version;
- retrieved source identifiers;
- tool calls and validated arguments;
- approval requests and decisions;
- outputs, errors, retries, and final status;
- timing and usage fields needed for the cost model.
Keep sensitive content out of broad analytics. Mask fields, set retention, and give access to the people who need the trace for operations or incident review. A trace records an operational run; performance claims require a separate measured study.
Retries need a policy. Retrying a read may be safe; repeating a write may duplicate an action. Use idempotency keys and state checks for writes. Set timeouts and a maximum step count. When a tool is unavailable, fail into a named queue or human route and close the loop there.
Delivery sequence
Use a sequence that keeps risk visible:
- map the current process and choose one owner;
- write the agent contract and data register;
- prepare an evaluation set with expected outcomes;
- build read-only tools and a draft result;
- inspect traces and correct source or policy gaps;
- add one write action behind approval;
- run a controlled pilot with rollback and incident ownership;
- review the pilot and decide whether to expand, change, or stop.
The pilot should use the real workflow and agreed access, with a written success measure and a known review period. Set the target before the pilot and report the measured result afterwards.
When a deterministic workflow is better
Use regular automation when the process has fixed rules, structured inputs, and predictable transitions. It will usually be easier to test, explain, and maintain. Add a model where language understanding or document variation creates a real benefit.
Do not build an agent when the source data has no owner, the business process changes every day, write permissions cannot be limited, or nobody can review failures. A training workshop can help a team learn approved tools. A process clean-up or integration project may be the right next step when the agent idea is covering a data problem.
Cost and maintenance
The build budget includes more than model calls. Plan for source preparation, tool implementation, identity and permissions, evaluation data, approval screens, observability, incident handling, and ongoing changes to policies and systems.
Operating costs depend on run volume, context size, model choice, tool usage, retries, storage, and review work. Model them from a representative workflow. Record the assumptions so the owner can replace them with real volumes after the pilot.
An agent that reaches production needs an owner for prompts, tools, sources, access, and regression tests. The product decision includes the maintenance work required after launch.
FAQ
What is the first step?
Choose one repeatable business task, name its owner, and write the allowed inputs, actions, approvals, and stop conditions. A free process scan can turn that task into a written implementation recommendation.
Does an agent need multiple agents?
Start with one bounded process and a few narrow tools. Add more agents only when a single workflow cannot be made clear and testable with one coordinator.
Can an agent send messages or change records?
It can prepare those actions. The application should enforce authentication, validation, idempotency, and human approval for actions with material consequences.
How do we measure quality?
Use representative cases with expected outcomes. Track task quality, evidence, tool correctness, escalation, failure recovery, latency, usage, and review time.
What should we bring to a scoping call?
Bring one process map, sample inputs with personal information removed, the systems involved, the current handoff, and the cost of a wrong action. The AI agents service is the relevant delivery path when the process is ready.
Sources
Free process scan
Start with a free process scan.
- A 30-minute call with the engineer who would lead the work.
- A review of the processes that cost you the most time and money.
- A written summary of what to automate first and the likely cost range.
The scan chooses one process to assess, and within 2 business days you receive a recommendation, including when a simpler route is the better fit.
€0
30 minutes · written takeaway within 2 business days
Times are shown in your own time zone. We work with clients across time zones.
Describe the process in the form