Files
paperclip-docs/docs/connectors/speko.md
T
d627632874 Release docs for paperclip v2026.1106.0 (#172)
Docs for parent release `v2026.1106.0` (`d69631b0`), up from
`v2026.1023.0` (`1b4c8038`): 515 parent commits.

## How this branch was built

The tag is 914 commits behind what `nightly` has drafted, so this branch
isn't cut from `nightly` HEAD. It starts at nightly commit `1952052`
(parent `043f2514`), 19 commits before the tag, then adds:

- the `main` hotfix (#160)
- the sync tooling from `nightly`
- docs for those 19 commits

Later nightly drafts stay on `nightly`, so no pages had to be removed.
No `nightly-draft/*` PRs are open.

## What changed

- **Runner by default:** new Claude, Codex, OpenCode and Pi agents start
on Paperclip Runner on supported hosts, with **Legacy runner** and
**Upgrade runner**.
- **Workspaces:** cleanup of finished workspaces, optional Git
expiration, and restore points for unsaved work. Restore points are off
by default.
- **New pages:** Prompt injection prevention, Google Workspace, GitHub
Copilot, Speko, Braintrust, Daytona, Ditto and Unikraft.
- **Breaking and upgrade notes:** the run history limit, Sentry run
failures off by default and the DSN variables, the Docker start command
for custom images, `--yes` on `instructions-file:delete`, and slower
migrations on large instances.
- **Also covered:** project repositories as skill sources, roster bulk
edit, Artifacts V1 (experimental, off by default), composer dismissal,
`expectedStatusVersion`, `unexecuted_review_stage`, and plugin workspace
providers.
- **Changelog:** a v2026.1106.0 entry in `reference/changelog.md`.

## Older text corrected

These were wrong at the tag, and most are also wrong on the live site:

- which permissions let an agent read a peer's configuration or change
instructions (`api/agents.md`)
- `decideNowCount`, which doesn't exist; the field is `deskBadgeCount`
- `file-resources` routes, which are board-only
- the **Create project** dialog fields, a CEO rule the code doesn't
enforce, and where a terminated agent's reports appear
- `instructions-file:put` and `:delete` examples that always failed
(`cli/agent.md`)
- a curl example that returned `422` (`api/cases.md`)
- Google Workspace **Reconnect** instructions, which claimed it reopens
the service picker
- the `permissionKey` table, which listed 8 of 21 keys
- drafting text at the end of `api/agents.md`

## ⚠ Please check these

- **Product behaviour that may be a parent bug.** The docs now describe
the tag's code, which you may prefer to fix upstream:
- The project **Environment** dropdown saves a choice, but runs ignore
it (`experimental/environments.md`).
- `environments:manage` is granted by roles but no environment route
checks it.
- `suggest-changes` is documented as agent-only, because only agents
have a consent path. Company skill policy decides skill edits.
- **Reader-visible mismatches in the parent UI.** The docs follow the
code. Upstream copy still mentions a "Built-in agents tab", says Copilot
"awaits qualification", and tells people to "Reconnect Google Workspace
to change access".

## ⚠ Post-tag leaks removed

Nothing to remove from an already-drafted page: post-tag surfaces such
as 1Password, Vercel, Supabase deploy, custom gateway onboarding and
Artifacts V1 as default never came onto this branch. Authors left out
post-tag hunks of the next nightly draft, and the reasons are in the run
notes.

## ⚠ Drift

None. Zero findings at the tag, from a full parent snapshot.

## ⚠ Verification Failures

The tag-accuracy gate reports one leak and nine review entries. None is
a real failure:

- **Leak:** `reference/cli/service.md`, `paperclipai payload and`. This
is a false positive; it's prose from a real message at
`cli/src/commands/service.ts:184`.
- **Review, 8 new connector pages:** the gate can't confirm new pages.
Reviewers confirmed each surface exists at the tag.
- **Review, `local_tools`:** an example value from the tag's Runner
README.

Not provable from code, and kept deliberately:

- `sandbox-providers.md` uses `sandbox.yaml`. The tag's README says
`install.yaml`, which returned 404 when checked. The upstream fix is
post-tag.
- The Google Workspace row about older OAuth brokers rests on release
notes and a design doc. The broker isn't in this repo.
- External claims about provider behaviour (for example Braintrust,
Daytona, Unikraft and Google scopes).

## ↻ Renames detected

None. The rename helper wasn't run: the 19-commit delta adds no new
adapter, skill, or plugin directories that it would check.

## Verification

All checks read a checkout pinned to the tag.

- **First round:** authors, a release-notes audit, an audit of
corrections stranded on `nightly`, an audit of 321 lines the last
realign dropped from `main` (about 130 checked directly in code), and
six fresh verifiers.
- **Second round:** seven new verifiers re-checked every changed area,
tracing behaviour rather than matching labels, and fixed about 50 more
defects. That volume means more may remain.
- **Limits of that second round:**
- Each verifier reported what it only string-matched. That includes
parts of Artifacts V1, the **Upgrade runner** notice, Copilot run
behaviour, and some Plugin SDK contract text.
  - The second-round fixes themselves weren't reviewed by a third round.
- **Gates:** `docs:build`, `docs:test` and `sync:check` pass.
- **Nothing was run against a live instance.** All of this comes from
reading code.

## Screenshots

**196 of 278 screenshots are stale and none were recaptured.** The list
is in `SCREENSHOTS_PENDING.md`. Some visibly differ from the text, such
as the removed **Run with provider trace** button and the old roster
tabs.

## After merge

1. Keep the PR title as is: `tag-docs-release.yml` reads the version
from it.
2. Confirm the `docs/v2026.1106.0` tag exists.
3. Run `node scripts/sync/realign-nightly.mjs release/v2026.1106.0
--push`, then audit for dropped lines and duplicated paragraphs, and set
`nightly` state back to `branch_mode: nightly`.
4. Check that `docs.paperclip.ing` serves the release: a new page, a new
claim, and the changelog's top entry.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Co-authored-by: DevRel Gemini <[email protected]>
Co-authored-by: Paperclip <[email protected]>
Co-authored-by: Dotta <[email protected]>
Co-authored-by: ClaudeCoder <[email protected]>
2026-11-07 13:02:42 +01:00

6.3 KiB

paperclip_version, seo_title, seo_description
paperclip_version seo_title seo_description
v2026.1106.0 Speko Voice Connector Talk to a Paperclip agent out loud with Speko. Connect a voice persona, start calls from a task, and set up callbacks and incoming phone calls.

Speko (voice)

Sometimes it's quicker to say what you need than to type it. Speko lets you talk to a Paperclip agent by voice: ask for work, add a spoken follow-up, and hear the result. Speko handles the audio, and Paperclip keeps the task, its history, and the agent's work.

One connection links one Speko voice persona to one Paperclip agent.

Warning: Speko is experimental. Browser voice is the main path. Outgoing and incoming phone calls are also experimental and haven't been fully tested against live phone lines yet.

Before you connect

  • Chat connectors must be on for the instance. It is an experimental setting, off by default, under Instance settings → Experimental.
  • A public HTTPS address for Paperclip. Speko calls back into Paperclip during a conversation. A local instance needs a tunnel or reverse proxy you've set up yourself.
  • A Speko account. Speko bills voice usage separately from your agents' costs.

Connect Speko

  1. In Speko, open your agents (Open Speko agents links there). Create a dedicated agent for Paperclip and choose its voice. Keep only Speko's default tools; Paperclip adds its own task tools to the persona.
  2. Copy the agent's ID and create a Speko API key.
  3. In Paperclip, open Connectors, find Speko, and select Connect.
  4. Choose the Paperclip agent this voice will speak for. It stays fixed for the connection.
  5. Paste the Speko agent ID and Speko API key, then click Connect Speko. Paperclip saves both, plus a generated callback signing secret, in the company vault.
  6. On Test your Speko voice connection, start a conversation. Ask the agent to do some work, add a spoken follow-up, and listen for its result. Then click Verify test conversation.

Before testing, check the recording and retention settings in your Speko workspace. Speko may keep recordings according to those settings; Paperclip keeps the task history.

Talk to an agent from a task

On a task assigned to an agent with an active Speko connection, click Talk to followed by the agent's name. If the agent has more than one voice persona, pick one under Voice persona first.

During a call you can mute or use Repeat answer. Click End call when you're done. Ending the call doesn't stop the work: accepted tasks keep running in Paperclip. Calls are limited to ten minutes.

Phone calls

The connection's Settings tab has the phone options.

Let the agent call you

Under Call my phone, enter Your callback number in international format (starting with + and the country code). Tick Allow this agent to call me about my tasks, then click Save phone setting.

Incoming calls

Under Incoming calls, choose a Company phone number from your Speko numbers. If none are listed, buy or import a number in Speko, finish its verification, add credits, and click Refresh numbers.

  • Enable incoming calls on this number turns the line on.
  • Let callers start new low-trust tasks without sign-in gives each call its own new task. The agent can discuss that conversation, but can't reach existing private tasks or private tools.
  • Execution sandbox picks where those low-trust tasks run. They need an active sandbox and isolated workspaces.

Click Save incoming call setting.

Approve a caller for an existing task

A caller who wants to discuss an existing task needs your approval first. When a call is waiting, an approval card appears on the connection's Settings tab, with a Review phone intake link when the call has an intake task. Enter the six-digit code spoken on the call, choose the Conversation task, and click Approve live call. Only approve the call you're on: approval gives that call your access to the selected task. Click Deny call to refuse it.

Access and history

The Access tab explains who can use voice:

  • Browser calls use the signed-in person's current company access. Each call stays tied to its chosen agent and task.
  • Outgoing calls use your saved callback number and opt-in.
  • Incoming calls without approval can only start a new low-trust task.

The Activity tab lists your calls under Recent activity: browser conversations, incoming calls, and outgoing calls, with their status, duration, Speko charge, and transcript once Speko finishes its call report. Agent costs are tracked separately, and recordings stay in Speko.

Company Phone Agent

The team catalog includes an optional Speko Company Phone Agent: a voice receptionist for greeting callers, taking requests, and handing work to the right agent. It isn't installed by default. Add it from the catalog if you want a dedicated phone agent, then connect it to Speko as above.

Troubleshooting and limitations

Problem Likely cause Fix
Speko isn't offered under Connectors Chat connectors is off Ask an administrator to enable it
Setup asks for a public HTTPS callback origin Paperclip has no public address Configure a public HTTPS URL or tunnel, then try again
"Voice is unavailable. Check the Speko connection in Apps." The task's voice connection is inactive Open the connection and reconnect it
No phone numbers are listed The Speko workspace has no verified numbers Buy or import a number in Speko, add credits, then Refresh numbers
"That code does not match this live call." The code was misheard or belongs to another call Ask the phone agent to repeat the code
  • Speko charges are billed by Speko and aren't included in agent costs.
  • To update the persona or API key, use Reconnect. Existing task assignments stay attached to their history. Removing the connection stops new voice requests; accepted work and task history stay in Paperclip.