Modules
Every module available to Routario automations and agents.
- Add Note — Append a note to a contact, company, or deal (polymorphic).
- Ask a person — Pause this run and ask a human a question. The run parks until someone answers, then continues with the answer in context.
- Ask AI — Send a prompt to an LLM and get a typed response (text/int/float/bool/JSON/enum); pass an image reference to describe or analyse a picture (vision).
- Calendar (iCal) — Fetch an iCalendar (.ics / webcal) feed and return its events as structured rows.
- Capture from Scout — Capture a photo through a paired Scout device; the frame lands in Memory.
- Checklist status — Read a record’s checklists: per-check state, gate blockers, and completion.
- Classify — Pick exactly one category from a declared list to label a piece of free text. Wraps the Ask AI engine with enum mode so the answer is guaranteed to be one of the inputs.
- Clear Table — Empty a custom table — delete all of its rows.
- Complete Task — Mark a task as done. Shortcut for update_task with status=done.
- Compress — Compress a file (PDF or image) using a provider-abstracted pipeline. Returns metadata about the result.
- Create Company — Create a company or return the existing one (idempotent on domain → name).
- Create Contact — Create a contact or return the existing one (idempotent on name).
- Create Deal — Create a deal on a company; snapshots FX rate against the main currency at creation time.
- Create Record — Add or update a row in a custom table, validated against its columns.
- Create Task — Create a task and optionally link it to a contact, company, or deal.
- Delete Record — Delete targeted rows from a custom table — by record id, or by table + filter.
- Extract — Turn an unstructured source (scanned/digital PDF, image, or free text) into typed fields with per-field confidence, driven by a reusable extraction recipe.
- Find Company — Find a company by name or email domain.
- Find Contact — Find a contact by email or name.
- Find Deal — Fetch a deal by ID or by (company_id + name).
- Flag for review — Park an extraction on /inbox for a human to confirm or dismiss, instead of writing it (or in addition to a row that already exists).
- Format — Render a Jinja2 template string against the current context and write the result to a named key.
- Geocode — Resolve a place name to latitude, longitude, timezone, and display label using Open-Meteo geocoding.
- Get memory item — Read a memory item (a dropped note or document) and the people / companies it mentions, by id.
- Get Record — Fetch one custom-table row by its record_id.
- HTTP Fetch — Make an outbound HTTP request and return the response body.
- Ingest into Table — Land an extracted document into a table using the table’s bound ingestion recipe — field map, provenance, and idempotent upsert applied.
- Launch checklist — Launch a checklist template (a bundle of checklists) onto a record.
- List Companies — Search and list companies; returns an array for downstream map-steps.
- List Contacts — Search and list contacts; returns an array for downstream map-steps.
- List Deals — List deals filtered by stage kind, stage, company, or owner.
- List files (storage) — List files/folders on a connected storage server.
- List Memory Items — Browse memory items by arrival date and type, as cheap fingerprint rows.
- List Records — List rows from a custom table; returns an array for downstream map steps.
- List Tasks — List tasks with optional filters by status, assignee, linked contact/company/deal, or date range.
- Listen via Scout — Record a short audio clip through a paired Scout device; the clip lands as temporary evidence.
- Memory fetch file — Resolve a memory item’s stored file to a local path.
- Move Deal Stage — Move a deal to a new pipeline stage; stamps closed_at when the target kind is won or lost.
- OCR — Extract structured fields from a document image using the configured OCR provider.
- Propose change — Propose a CRM deal-graph change for a person to review, instead of applying it directly.
- Read file (storage) — Pull one file from connected storage onto local disk.
- Read spreadsheet — Read rows from an .xlsx, .xlsm, or .csv file into structured records.
- Reopen check — Reset a satisfied/waived/N-A check back to pending.
- Satisfy check — Mark a check satisfied (document/photo checks require evidence).
- Send Email (module) — Thin module wrapper around core/mail/ — use the send_email step for new workflows.
- Set volume on Scout — Set the output volume on a paired Scout device (fire-and-forget).
- Skip check (N/A) — Mark a check not applicable to this record (clears the gate).
- Speak via Scout — Speak text aloud through a paired Scout device (fire-and-forget).
- Speech to Text — Transcribe audio to text via Groq Whisper (or OpenAI Whisper fallback).
- Sync to Table — Upsert a batch of rows into a custom table — match-and-update by key, no duplicates.
- Text to Speech — Synthesize speech audio from text via OpenAI TTS. Returns base64-encoded MP3.
- Update Company — Update one or more fields on a company via a ‘fields’ dict. Allowed fields: name, domain, website.
- Update Contact — Update one or more fields on a contact via a ‘fields’ dict. Allowed fields: name, email, phone.
- Update Deal — Update one or more fields on a deal via a ‘fields’ dict. Allowed fields: name, company_id, primary_contact_id, value_amount, value_currency, expected_close_date, owner_actor_id. Use crm_deal_move_stage to change stage.
- Update Record — Patch a custom-table row’s values by record_id.
- Update Task — Update one or more fields on an existing task.
- Waive check — Waive a check with a required reason (override a control that was needed).
- Weather — Fetch current weather and 24-hour forecast for a lat/lon location. Writes a human-readable headline + report, plus atomic outputs (temp_now, will_rain_today, peak_rain_pct_24h, tomorrow_min_c/max_c, today_rain_mm) the drafter can compose conditions on.