Feature · Command

Talk

Say what needs doing. Watch your AI employees sort it, build it and ship it.

Last changed

Generated from commit f47c270 ·

How it works

Say a request

Open Talk. Select the microphone key to talk hands-free. Or hold the key, or hold Space, while you talk. Release to send. You can also type in the field and press Enter. On a phone, tap the key to talk, or type and tap Send.

Your words show as captions while you talk. The ticket fills in with each word: the title, the kind, the priority, the area, the tags, the scores and the rank. The rules in your browser read each word. The server checks the words when you pause.

When you stop talking, Talk sends the request. A request needs three words or more. The ticket gets a key such as SIG-12. Talk writes known names with their capitals, for example PDF, CSV, Safari, iOS and the first names of your AI employees.

Browsers without speech recognition show the field only. Type your request there. The rest works the same.

Watch triage decide

The triage employee takes the ticket and reads it. Then the decision shows with its reasons, its confidence and its method. The owner shows next to the triage employee, and the light moves from one to the other.

Start the work

Accepted work is Ready to start, unless your organization starts work at once. Select Start, or say "start it". On a phone, Start is over the talk field. When today's model budget is used up, Talk tells you before you start: the work stops at its first model call. Select Raise the budget to change it.

While the work runs, the owner shows with a line that tells what they do now. The progress line stays at Planned until the owner writes the plan. When the owner asks a person a question first, the ticket shows Waits on a person and the question, with a link to answer it. The plan shows as a list. When the owner marks steps as done, the list becomes a checklist with a count. Saved results and checks show when they arrive. The live log shows the newest steps of the owner. Select the count of earlier steps to see all of them on the journey.

When the work ships, Talk shows the total time from your words to shipped. Select Open the result, Receipt or Journey to see more.

Voice commands

Say a command on its own, or at the end of a request after a pause or the word "and":

  • "Create it" sends the request now.
  • "Start it" starts held work. In a request, the work starts when triage accepts it.
  • "Make it urgent", "make it high" or "make it low" sets the priority.
  • "That's a bug" sets the kind. Other kinds are feature, idea, docs, incident and research.
  • "Assign it to Theo" sets the owner. Use the first name of an AI employee.
  • "Not now" puts accepted work in the Backlog.
  • "Reject it because …" rejects the ticket with your reason.
  • "New ticket" clears the stage for the next request.

A change before triage decides asks for a yes. Say "yes" or "no", or press Enter or Esc.

Several tickets

The live tickets show on the left, or under the top bar on a phone. Select a ticket to bring it into focus. A new request takes the stage, and the earlier ticket stays in the list.

Sounds and spoken replies

Talk plays short, quiet sounds for real events. Select the speaker key to turn them off. Select Speak replies to hear the replies. Spoken replies are off by default. Each spoken word also shows as a caption.

Presenter and speed

Press P to open the presenter. It says a short engineering story through your real organization. Use the arrow keys for the next or the last line, A for autopilot and B to clear. The address /talk?demo=1 starts the story on autopilot. Add &loop=1 to play it again and again.

The story creates real tickets and starts one docs task. Use it in an organization where that is correct.

Press D for the speed readout. It shows how long each step took in this browser: from a word to the card, from a send to the key, and from Start to shipped.

Other pages

Command, Flow and the board are in the top bar. Select the grid key, or press ⌘K or Ctrl K, for every other page.

From the help article Talk: say the work and watch it ship, checked against the product on .

What you can do

The operations this feature's screens call. Each one is POST /api/<name>, and the badge says who may call it.

  • getWorkJourney

    Viewer

    One ticket's journey: every step, owner and handoff from the first signal to shipped. Give a workItemId or a signalId.

    Types: GetWorkJourneyRequest returns WorkJourneyDto

  • listSignals

    Viewer

    Lists signals.

    Types: ListSignalsRequest returns ListSignalsResult

  • getTriageSettings

    Viewer

    Gets triage settings.

    Types: GetTriageSettingsRequest returns TriageSettingsDto

  • getOverview

    Viewer

    Gets overview.

    Types: EmptyRequest returns OverviewResponse

  • previewSignal

    Viewer

    Previews the signal.

    Types: PreviewSignalRequest returns SignalPreviewDto

  • submitSignal

    Member

    Submits a signal.

    Types: SubmitSignalRequest returns SignalDto

  • startSignalWork

    Member

    Starts signal work.

    Types: StartSignalWorkRequest returns SignalDto

  • decideSignal

    Member

    Decides the signal.

    Types: DecideSignalRequest returns SignalDto

  • getWorkItem

    Viewer

    Gets the work item.

    Types: GetWorkItemRequest returns GetWorkItemResponse

  • getWorkItemFastPath

    Viewer

    Gets the work item fast path.

    Types: GetWorkItemFastPathRequest returns GetWorkItemFastPathResponse

  • listThreads

    Viewer

    Lists threads.

    Types: ListThreadsRequest returns PageResponse<ThreadDto>

  • getSignal

    Viewer

    Gets the signal.

    Types: GetSignalRequest returns GetSignalResult

  • updateTriageSettings

    AdminNo API tokens

    Updates triage settings.

    Types: UpdateTriageSettingsRequest returns TriageSettingsDto

  • listEvents

    Viewer

    Lists events.

    Types: ListEventsRequest returns PageResponse<AuditEvent>

  • listEscalations

    Viewer

    Lists escalations.

    Types: ListEscalationsRequest returns PageResponse<EscalationDto>

  • listApprovals

    Viewer

    Lists approvals.

    Types: ListApprovalsRequest returns ListResponse<ApprovalDto>

  • getPreferences

    Viewer

    Gets preferences.

    Types: GetPreferencesRequest returns PreferencesView

  • updateMyPreferences

    ViewerNo API tokens

    Updates my preferences.

    Types: UpdateMyPreferencesRequest returns PreferencesView

  • listSharedOutputCandidates

    Admin

    Lists shared output candidates.

    Types: ListSharedOutputsRequest returns ListSharedOutputCandidatesResponse

  • listSharedOutputs

    Admin

    Lists shared outputs.

    Types: ListSharedOutputsRequest returns ListSharedOutputsResponse

  • listDeliveryProofs

    Viewer

    Lists delivery proofs.

    Types: ListDeliveryProofsRequest returns ListDeliveryProofsResponse

  • listDeliveryProofShareCandidates

    AdminNo API tokens

    Lists delivery proof share candidates.

    Types: ListDeliveryProofShareCandidatesRequest returns ListDeliveryProofShareCandidatesResponse

  • createDeliveryProofShare

    AdminNo API tokens

    Creates a delivery proof share.

    Types: CreateDeliveryProofShareRequest returns SharedOutputDto

  • createSharedOutput

    AdminNo API tokens

    Creates a shared output.

    Types: CreateSharedOutputRequest returns SharedOutputDto

  • updateSharedOutput

    AdminNo API tokens

    Updates the shared output.

    Types: UpdateSharedOutputRequest returns SharedOutputDto

  • publishSharedOutput

    AdminNo API tokens

    Publishes the shared output.

    Types: PublishSharedOutputRequest returns SharedOutputDto

  • previewSharedOutput

    AdminNo API tokens

    Previews the shared output.

    Types: SharedOutputIdRequest returns SharedOutputPreviewDto

  • giveFeedback

    Member

    Gives feedback.

    Types: GiveFeedbackRequest returns FeedbackDto

  • getDocumentRevision

    Viewer

    Gets the document revision.

    Types: GetDocumentRevisionRequest returns DocumentRevisionDto

  • holdCampaign

    Member

    Stop and wait: hold the item and everything under it. Schedules, timers and delegation start no held work.

    Types: CampaignHoldRequest returns CampaignDto

  • releaseCampaign

    Member

    Lift a hold and wake the open items under it.

    Types: CampaignRef returns CampaignDto

  • steerCampaign

    Member

    Send one instruction to every open item in the campaign, for example "keep going but open fewer pull requests".

    Types: CampaignSteerRequest returns CampaignSteerResult

  • setCampaignSettings

    Admin

    Set the campaign limits (concurrency, total items, spend), delivery mode and pull request limits.

    Types: CampaignSettingsRequest returns CampaignDto

  • getCampaignReport

    Viewer

    What the campaign did: items by role, runs, pull requests merged and declined, lines changed, cost and follow-ups.

    Types: CampaignRef returns CampaignReportDto

  • listReviewNotes

    Member

    Lists review notes.

    Types: { workItemId?: string; threadId?: string; reviewerWorkerId?: string; includeSilent?: boolean; limit?: number } returns { notes: ReviewNoteDto[] }

  • resolveReviewNote

    Member

    Resolves the review note.

    Types: { noteId: string; verdicts: ReviewVerdictInput[] } returns ReviewNoteDto

  • getWorkItemRouting

    Viewer

    Gets work item routing.

    Types: GetWorkItemRoutingRequest returns WorkItemRoutingDto

  • setWorkItemRoutingOverride

    Member

    Sets the work item routing override.

    Types: SetWorkItemRoutingOverrideRequest returns WorkItemRoutingDto

  • setStepRoutingOverride

    Member

    Sets the step routing override.

    Types: SetStepRoutingOverrideRequest returns WorkItemRoutingDto

  • getRunMode

    Viewer

    Gets the run mode.

    Types: GetRunModeRequest returns RunModeDto

  • setWorkItemRunMode

    Member

    Sets the work item run mode.

    Types: SetWorkItemRunModeRequest returns RunModeDto

  • updateWorkItem

    Member

    Updates the work item.

    Types: UpdateWorkItemRequest returns WorkItemDetail

  • transitionWorkItem

    Member

    Moves the work item.

    Types: TransitionWorkItemRequest returns WorkItemDetail

  • explainAction

    Viewer

    Explains the action.

    Types: ExplainActionRequest returns ExplainActionResponse

  • explainDecision

    Viewer

    Explains the decision.

    Types: ExplainDecisionRequest returns ExplainDecisionResponse

  • getContextManifest

    Viewer

    Gets the context manifest.

    Types: GetContextManifestRequest returns GetContextManifestResponse

  • getWorkItemModelCalls

    Viewer

    Gets work item model calls.

    Types: GetWorkItemModelCallsRequest returns PageResponse<WorkItemModelCallDto>

  • listWorkItemEvidence

    Viewer

    Lists work item evidence.

    Types: ListWorkItemEvidenceRequest returns ListResponse<WorkEvidenceDto>

  • getProjectFolder

    Viewer

    Gets the project folder.

    Types: GetProjectFolderRequest returns ProjectFolderView

  • getThread

    Viewer

    Gets the thread.

    Types: GetThreadRequest returns GetThreadResponse

  • listWorkItems

    Viewer

    Lists work items.

    Types: ListWorkItemsRequest returns PageResponse<WorkItemSummary>

  • getWorkItemTrace

    Viewer

    Gets work item trace.

    Types: GetWorkItemTraceRequest returns GetWorkItemTraceResponse

  • getWorkItemActions

    Viewer

    Gets work item actions.

    Types: GetWorkItemActionsRequest returns ListResponse<ActionDto>

  • getWorkItemRepositoryReadiness

    Viewer

    Gets work item repository readiness.

    Types: { workItemId: string } returns import('./repositoryReadiness.js').WorkItemRepositoryReadinessResponse

  • getWorkItemSpec

    Viewer

    The spec attached to a work item, and the spec blocks this item implements.

    Types: { workItemId: string } returns { spec: SpecSummary | null; cites: Array<{ specId: string; specKey: string; blockId: string; ref: string; text: string …

  • createSpec

    Member

    With a work item and no blocks it starts from the item: objective, requirements, plan approach, risks, open questions and recorded decisions. One spec per work item.

    Types: { title?: string; workItemId?: string; blocks?: SpecBlockInput[]; draftWithAgent?: boolean } returns { spec: SpecDetail; agentAsked: boolean; reason: string | null }

  • listWorkItemDecisions

    Viewer

    Lists work item decisions.

    Types: ListWorkItemDecisionsRequest returns ListWorkItemDecisionsResponse

Screens

What it records

The feature writes these events to the audit log, the permanent record of what happened.

  • Policy changed
  • Budget reserved
  • Checkpoint saved
  • Context retrieved
  • Escalation raised
  • Escalation resolved
  • Integration changed
  • Memory recalled
  • Model called
  • Policy evaluated
  • Project decision recorded
  • Project decision retired

Generated from code at commit f47c270 ·

Turn the numbers into shipped work.

Crewshal runs these choices for you: a persistent AI worker with memory and rules, on your Claude and Codex subscriptions.