An agent task takes named inputs, does some work with a model and its tools, and returns a typed value. Same prompt, same model, same tools, same MCP servers as an agent — minus every conversational organ, plus the one thing a conversation cannot have: a structured output you declare up front. Reach for a task when the work has an input and an answer rather than a conversation. Research a company from a domain. Classify an inbound message. Draft an opening line. Pull one field out of a document. Here is a complete task, exactly as POST /v1/tasks takes it:
Only name and output are required. Everything else takes a default.

What a task is not

A task is its own noun with its own operations, not a fourth agent channel. It has no channel field, because there is nobody on the other end. The config forbids fields it does not have. Sending greeting or kb_ids on a task is a 422, not a silent drop.

What the prompt can read

A task’s prompt is a template, checked when you save it, exactly as an agent’s is. There is no call, so {{system_vars.human_phone_number}}, {{system_vars.agent_phone_number}} and {{system_vars.direction}} never hold anything. Writing one is not an error, but it saves with a warning saying it will always be empty. {{secrets.NAME}}, {{args.*}} and {{tooldata.*}} are refused in a prompt here for the same reasons they are refused in an agent’s — see variables.

No draft, no publish

A task has one config, and saving it is what makes it live. There is no draft, no publish step and no version history.
  • Strict at save. create_task and update_task run every check that publishing an agent runs — including the ones an agent draft is allowed to defer, like a provider key for the model. An invalid config comes back as a 400 listing every problem at once, and nothing is stored. A task that exists can always run.
  • An edit takes effect on the next run, with nothing in between.
  • There is nothing to roll back to. No earlier wording is kept, and a run records the task’s name and nothing else about the definition that produced it. Two runs either side of an edit are indistinguishable in the history.
create_task and update_task return a warnings array beside the saved task. These are real problems that are not fatal — a prompt reading {{vars.emial}} that nothing declares, a task with no prompt at all. There is no publish screen to show them on, so read them where they come back.

Reference

Nothing here is billed by Talqing. The platform fee is per minute on voice and video calls, and a task run is neither — what a run costs is your own provider spend on your own key, reported back as provider_cost. See pricing and credits.

In the dashboard

Tasks in the sidebar lists every task in the workspace, each row showing its signature — email → company_name, what_they_sell — and how its last run went. Opening one gives a single editor with Prompt, Model, Inputs and output, Tools, Limits and Run sections, a TaskCoPilot rail beside them, and one Save button with no publish next to it.

End to end

Create a task and run it. Tasks are regional: a task created against https://api.in.talqing.com does not exist in https://api.us.talqing.com, though the same token reaches both.
A completed run answers with the fields you declared:

Next

Inputs and output

Declare what a task takes in and the typed result it must hand back.

Running and runs

Run one, read the trace, and understand attempts and steps_used.

Tools and MCP servers

Give a task something to do while it works.