
Some jobs are too big or too varied for a single agent. A general support agent might need to escalate to a billing specialist. A reasoning agent might need a sub-agent to fetch and summarize data. A complex case might need a human to approve a refund.
Gleap gives you three tools for this — all added the same way as any other tool, in the Tools section of your agent's Settings panel.
Transfer | Hands the conversation off to a target. The current agent steps out. | The target (human or another AI agent) |
Delegate | Sends a subtask to another agent and waits for the result. | The current agent (with the result returned to it) |
Create task | Pauses the run and asks a human teammate for input or approval. | A human, then the run resumes |
The Transfer tool lets the agent hand off a live conversation. Once transferred, the original agent is no longer in the conversation.
When to use it: The current agent has reached the limit of what it can do and the conversation should continue with someone else — a human support agent, or a more specialized AI agent.
What you configure:
Transfer to — Human agent or AI agent.
Target agent (only when transferring to an AI agent) — pick any other agent in your project.
Context message — a short note the agent passes along to the receiver explaining what's happening (e.g. "Customer wants a refund above $200, needs human approval."). This becomes the first thing the receiver sees.
The Delegate tool lets the agent send a subtask to another AI agent, get a result back, and keep going. Unlike Transfer, the original agent stays in control — the delegated agent runs, returns its answer, and the parent agent uses that answer to continue.
When to use it: You want focused sub-agents for specialized work — e.g. a data lookup agent that one or many parent agents can call to fetch customer information, a summarization agent for long-context jobs.
What you configure:
Delegate to agent (published) — pick any Live agent in your project. Drafts can't be delegated to.
Context mode:
Task only — only the specific task description is sent to the sub-agent. Cleanest, most focused, and uses fewer tokens.
Full conversation — the entire conversation history is shared with the sub-agent. Use when context matters (e.g. the sub-agent needs to understand what the user said earlier).
Tip: Default to Task only. Switch to Full conversation only when the sub-agent's job genuinely depends on conversation context — full history is more expensive and can confuse the sub-agent with irrelevant detail.
The Create task tool lets the agent pause and ask a teammate for help — information, approval, or a manual action — before continuing. (In the data model this is the RequestHumanInput tool type; in the UI it's labeled Create task.)
When to use it: The agent reaches a step that needs a human — "approve this refund", "confirm this customer is enterprise tier", "update this CRM record manually". Unlike Transfer, the agent doesn't leave the conversation; it just waits for the human to respond, then picks up where it left off.
What you configure: Nothing. The tool has no settings — once added, the agent decides when to create a task and what to ask for. Tasks created by the agent appear in your Gleap project for teammates to action.
Outcomes: A run waiting on a task gets the Waiting for human input status. Once the human resolves the task, the run resumes and completes normally.

A few patterns that work well:
Triage + specialists. A general-purpose agent handles intake and uses Transfer to send conversations to specialists (billing, technical, refunds). Each specialist has tightly scoped tools and instructions.
Reasoner + workers. A reasoning agent uses Delegate to call worker agents that do focused jobs (look up a customer, search a knowledge source, compile a summary). The reasoner stays in control of the conversation.
Autonomous + human checkpoints. A workflow agent uses Create task at decision points where a human must approve before it continues — e.g. before sending an external email or issuing a refund.
A note on depth and loops: agents can transfer to or delegate to other agents that themselves transfer or delegate. Gleap caps this depth automatically to prevent infinite loops, but you should still design the topology intentionally — avoid circular handoffs (A → B → A) unless you genuinely need them.
When a run ends, Gleap records an outcome you can filter by in reports:
Resolved — the agent finished the job successfully.
Escalated — the agent transferred to a human.
Waiting for human input — the agent created a task and is waiting for a teammate.
Abandoned — the user (or upstream caller) ended the run.
Failed — something went wrong.
Use these to spot patterns: high Escalated rate often means an agent needs more tools or better instructions; high Failed rate usually points at a misconfigured tool.
Going live — access, webhooks, and monitoring — set who can see your agent, push conversations to your own systems, and review runs.