Deliverables
Reports, slides, podcasts, video, images, charts, Excel, HTML, speech, and email the agent produces
Deliverables
Deliverables are the files the agent produces for you — a report, a deck, a podcast episode, a chart image — plus the tooling that renders, stores, and previews them. They are generated from the conversation through a dedicated deliverables subagent with its own tool set, then persisted as artifacts you can reopen, download, and share.
The deliverable tools
| Tool | Output | Notes |
|---|---|---|
generate_report | Structured report (exportable) | With generate_resume for Typst-compiled PDFs |
generate_resume | Professional resume | Typst-compiled PDF |
generate_podcast | Audio podcast | Multi-step Celery pipeline |
generate_video_presentation | Video with slides + narration | Slides narrated in the slide language |
generate_image | Generated images | Requires a model with image-generation capability |
generate_chart | PNG charts | Bar, line, pie, scatter |
generate_presentation | Editable .pptx | Structured slide data; optional template-driven mode |
generate_excel | Editable .xlsx | Sheets, tables, charts, formulas |
generate_html | HTML page artifact | Remote CSS, fonts, images and links allowed; JavaScript is not |
generate_speech | Single-speaker narration audio | Arabic + provider-aware language support |
send_email | Email via SMTP | Requires human approval before sending |
query_database | SQL answers | Natural-language-to-SQL over a connected database |
The pipeline timeline UI, Excel/HTML previews, and the HTML tool shipped in #965; deliverable RBAC per tool in #55; artifacts persistence/PPTX + Excel download in #74.
Building a deck, workbook, or document from files you attach (convert,
analyse, calculate) is the job of the code_execution specialist, which runs
Python in an isolated sandbox and returns the file as an artifact card. See
Code Execution. Use the tools above when you
want a file from a prompt with no input data.
How to enable
Most tools work out of the box. The notable flags:
| Env var | Default | What it does |
|---|---|---|
PPTX_TEMPLATES_ENABLED | FALSE | Template-driven .pptx generation and the presentation-templates upload API |
PPTX_AUTO_DESIGN_ENABLED | FALSE | Deterministic deck design (generic-accent theme, cards/steps/rows, body text sized to fill the slide) |
TTS_SERVICE / TTS_SERVICE_API_BASE / TTS_SERVICE_API_KEY | — | Text-to-speech provider for podcasts and speech |
STT_SERVICE / STT_SERVICE_API_BASE / STT_SERVICE_API_KEY | — | Speech-to-text provider |
SMTP_HOST / SMTP_PORT / SMTP_USERNAME / SMTP_PASSWORD / SMTP_USE_TLS / SMTP_FROM_EMAIL | — | Email delivery for send_email (SMTP_FROM_NAME defaults to the product name) |
CELERY_VIDEO_PRESENTATION_TIME_LIMIT / CELERY_PODCAST_DRAFT_TIME_LIMIT / CELERY_SPEECH_TIME_LIMIT | 2700 / 1500 / 1200 s | Per-task Celery hard limits; soft limits must stay 60 s below |
SURFSENSE_SUBAGENT_INVOKE_TIMEOUT_SECONDS | 300 | Ceiling while a chat waits on a Celery-backed deliverable; raise it if podcasts/videos routinely exceed 5 minutes |
PPTX_TEMPLATES_ENABLED defaults to FALSE: template uploads are rejected and
generate_presentation uses the built-in renderer until you flip it in
docker/.env (or surfsense_backend/.env) and restart.
Where in the UI
- Chat — ask for a deliverable; the agent shows progress, then an inline card for the artifact (preview + download).
- Workspace sidebar → Artifacts
(
/dashboard/<workspace_id>/artifacts) — every generated file, with per-artifact actions. - Admin → System → TTS/STT — provider configuration used by speech, podcast, and video narration.
Related PRs
- #28 —
generate_chart; #32 / #34 / #36 / #37 / #59 — PPTX generation and renderer tuning; #57 —generate_excel - #55 — RBAC permissions for deliverable tools; #74 — persist and surface PPTX/Excel deliverables on the Artifacts page
- #965 — pipeline timeline UI,
generate_html, Excel/HTML previews - #1080a / #1080b / #1104 — video presentation parser and narration language
- #1064 / #1067 / #1108 — Arabic TTS, speech temp-dir fixes, LibreOffice TMPDIR
- #1172 — agent quality review: PPTX templates flag, turn budget and re-research guards around deliverables