Sight Intake

Start workflows from photos and voice notes, extract fields with confidence, and keep a proof package on each run.

Sight Intake lets workflows start from everyday media — delivery photos, invoices, receipts, screenshots, and voice notes — then extract structured fields, optionally pause for a human when unsure, and leave a proof package on the execution.

The loop: See → Do → Prove

  1. See — A photo or voice note arrives from Telegram, WhatsApp, chat, or another trigger as inputs.imageUrl / inputs.audioUrl (dynamic at run time, not a file the workflow author uploads).
  2. Do — An AI node reads the media (vision and/or transcription), fills structured fields, and the rest of the canvas stores or acts on that data (Sheets, databases, HTTP, messaging — wherever you choose).
  3. Prove — The finished run stores a proof package on the execution (what was seen, extracted, and done), visible in Execution History. Team+ workspaces can create a shareable proof link.

Media on the AI node

Open the AI node → Media:

ControlWhat it does
Voice / audioTranscribes {{inputs.audioUrl}} and exposes {{transcription}} in the prompt
Image / photoDownloads {{inputs.imageUrl}} and sends it to vision-capable providers (OpenAI, Anthropic, Gemini)
Pause when review neededIf structured output sets needsHumanReview, the run pauses for approval
Keep media longerKeeps original media for audits; by default large media is not retained forever

Use a vision-capable model. Groq and Perplexity cannot read images.

Dynamic extraction presets

On the AI node’s Structured output attachment, apply a Sight preset:

  • Invoice — vendor, totals, dates, line items + confidence
  • Receipt — merchant, total, items + confidence
  • Delivery photo — order ref, signature visible, notes + confidence

Presets are field checklists and prompt hints for whatever image arrives. They are not fixed sample uploads. Store extracted values with normal Action nodes wherever you want.

Every preset includes:

  • confidence (0–1)
  • needsHumanReview (boolean)
  • reviewReason (optional string)

Channels

ChannelImageVoice
Telegraminputs.imageUrl when bot token is setinputs.audioUrl
WhatsApp Businessinputs.imageUrl when access token is setinputs.audioUrl
Website chat / Chat triggerPass optional imageUrl / audioUrl in the POST bodySame
Generic webhookPut a URL (or data URL) in the payload and map it in MediaSame

Successful runs attach output.proof with a short summary of what was seen and extracted.

  • In-app: open the run in Execution History
  • Share link (Team / Business and above): POST /api/v1/workflows/{workflowId}/executions/{executionId}/proof-share, then open GET /api/v1/proof/{token}

Free and Pro keep proof inside the app only. Media retention stays short unless Keep media longer is on.

Suggested canvas

Start (Telegram / WhatsApp photo)
  → AI (Media: photo + Invoice/Receipt/Delivery structured output)
  → Condition (needsHumanReview)
       → Approval (optional) / or rely on AI “Pause when review needed”
  → Action (Sheets, DB, Slack, …)