A busy week. Here is what changed between 1 and 8 October, grouped by what it means for a manager or a builder. Everything below comes from the changelog; where an entry says a change is on staging first, that caveat is kept as it stood on 8 October; the changelog has the current state.
Approvals
- A workflow can now stop and ask a manager. The new approval node pauses a run until a workspace owner approves or rejects, then continues down the
approved,rejectedorexpiredpath. Owners get an inbox and in-app notices; email notice is not available yet. Step by step: Human approval: a walkthrough. - A paused run now says what continued it. A run that waited at an approval or a question shows the id of the run that picked it up, so a dashboard can tell “still waiting” from “already answered”.
Images and photos
- The default model provider now reads images, so an image step no longer needs a provider change (
imageVars), and one step can run on a different provider from the rest of its agent. - A step can fetch photos by link itself. An
llmstep takes image URLs or reads the images the user sent earlier, without storing the image bytes in the run. Large photos are shrunk instead of skipped, up to 40 per step by default. A new photo-reading recipe walks through it. - More images per step the old way too:
imageVarsnow takes up to 20, up from 4.
Speech
- Pick the speech-to-text engine per call, and the default route now falls back to a second engine on any error.
- A speech-only credential.
speechTokengives access to speech-to-text and text-to-speech without starting a conversation. - Fairer limits. Per-address limits on the speech routes, and elsewhere, now count each caller’s own address instead of lumping callers together.
Supervision and runs
- A per-agent view for managers.
agentActivitySummaryrolls up runs by status, recovered failures, evaluation scores, open questions waiting on a person and schedule health, with a “needs attention” flag. Credits per agent are not reported yet. - Evaluations are now opt-in, as documented. An
end_sessionstep evaluates only when it saysrunEvaluation: true. If you read those evaluations, add the field. - Reconnect without losing a reply (on staging first, live in production since 2026-10-09).
sinceMessageIdreplays replies sent while your connection was down. - Read a background task’s result with the same key that started it:
workflowTaskOutcome. - Test a connection before it goes live.
testCustomActionmakes one real call and says whether the credential or address is wrong. - Sessions idle for 30 days are now marked expired, and agents have a timezone for “today” and “now” in replies.
Roles, keys and model limits
- Owners and members. Every user now has a workspace role, and owner-only operations check it.
- Hire a listed role yourself. Workspace owners can hire a role from the roles Wetel has listed (PRO plan for now). Nothing appears until Wetel lists a role. Roles Wetel sets up for you now come with a setup checklist.
- Limit which models a workspace, or a single key, can use. Set by a Wetel administrator on request: per workspace and per API key.
- A suspended workspace now has new work refused on every path, not only dashboard sign-in.
Attachments and longer messages
- Send files as structured attachments (on staging first, live in production since 2026-10-09). Messages take up to 10 attachments plus extra context, and background tasks take the same list. See Sending files and context.
- Messages can be much longer: the text limit on
sendMessageandsdkSendMessagerose from 10,000 to 100,000 characters.
Clearer errors
- “Not found” and “conflict” errors now carry their own codes instead of looking like server errors. See Error handling.
- Validation errors now say what is wrong, and invalid image settings on a step are refused with a message naming the step and the field.
For every detail, including the smaller fixes, read the full changelog.