Build something this afternoon
30 end-to-end walkthroughs across six chapters. Each one is a single agent + a few /v1/service-requests calls. Copy, paste, ship.
Chapter 1 - Communication
Email, SMS/MMS, voice, and chat. The agent reaches a human and the human reaches back.
Cold-outreach SDR
Research a lead, draft a personalized cold email, send it. Cap at $5/day so a runaway loop costs less than coffee.
web_search.querytext_generation.generateemail.sendTriage + auto-reply bot
Classify inbound tickets, draft a reply, queue refunds over $50 for human approval via the built-in approvals queue.
text_generation.generateemail.sendOn-call voice escalator
When a Sentry alert fires, place a Twilio call to the on-call engineer and read the incident summary aloud.
voice_call.createtext_generation.generateMMS promo blast
Send an image + short copy via MMS to an opted-in list. Per-recipient idempotency keys keep retries safe.
mms.sendSMS 2FA fallback
When email 2FA bounces, fall through to SMS. Read inbound replies via sms.read for verification round-trips.
sms.sendsms.readChapter 2 - AI building blocks
Text generation, embeddings, speech-to-text, text-to-speech, structured extraction.
Daily-briefing agent
Every morning at 7am: scan the news in your topics, summarize, email you. Costs about $0.03/day.
web_search.querytext_generation.generateemail.sendManaged knowledge base (RAG)
Upsert docs into a managed vector store, query with natural language, hand top chunks to GPT-4o. No Pinecone account needed.
knowledge.upsertknowledge.queryknowledge.list_collectionstext_generation.generateVoice-note transcriber
User drops a 5-minute m4a in Slack. Transcribe with Deepgram, summarize with GPT-4o-mini, post back as a thread reply.
speech.transcribetext_generation.generatechat.thread_replyText-to-speech podcast snippet
Turn a blog post into a 60-second ElevenLabs audio teaser. Cache the MP3, post to your CDN.
text_generation.generatespeech.synthesizeStructured extraction over invoices
Hand a raw invoice text blob to text_generation.extract_structured with a JSON schema; get back typed line items. No prompt-engineering ritual.
text_generation.extract_structuredEmbeddings for semantic search
Roll your own search if knowledge.* is too opinionated: compute embeddings, store vectors in your DB, do cosine yourself.
embedding.createChapter 3 - Web & data
Search, scrape, browse, fetch, parse CSV, query a managed knowledge base.
Deep-research assistant
Fan out 20 Tavily searches, summarize with GPT-4o, return a cited brief. Hard $2/run ceiling per user.
web_search.querytext_generation.generateBrowser automation: flight prices
Spin up a headless browser, hit Google Flights, extract structured pricing. Screenshot for the audit trail.
browser.runbrowser.extractbrowser.screenshotURL summarizer
User pastes a link. Fetch the page (web.fetch_url), summarize with GPT-4o-mini, return 3 bullets. Cheaper than browser.* when the page is static.
web.fetch_urltext_generation.generateTopic news watcher
Every hour, hit web_search.news for your topics. Diff against last run. New items go to Slack.
web_search.newschat.sendCSV importer with auto-types
User uploads a messy CSV. data.csv_parse infers types, returns rows. Then extract_structured normalizes column names.
data.csv_parsetext_generation.extract_structuredChapter 4 - Compute & primitives
Sandboxed code execution and webhook fan-out - the glue under everything else.
Sandboxed code runner
Let users prompt "plot AAPL last 5 years". The agent writes Python, runs it in E2B, returns the chart. Per-user $0.50 cap.
code.executetext_generation.generateWebhook fan-out
One event in, N webhooks out. The platform handles retries and records every delivery in /audit-logs.
notification.webhookChapter 5 - Media & documents
Parse PDFs, subtitle video, write a newsletter from raw URLs.
Newsletter generator
Pull the week's top stories in a niche, write a 400-word digest, send to your list. One cron, one agent.
web_search.querytext_generation.generateemail.sendPDF to structured data
Run document.parse (LlamaParse) on a vendor invoice PDF, then extract_structured to typed JSON. End-to-end in two calls.
document.parsetext_generation.extract_structuredAuto-subtitle a video
Upload an mp4, get an SRT back. video.subtitle uses Deepgram under the hood - burn-in is your codec, not ours.
video.subtitleChapter 6 - Integrations
Slack, calendar, CRM, ticketing - the apps your team already pays for.
Slack /ask bot
Wire one agent to your Slack slash-command. Search the web, summarize, post back. Pay once at the org level.
web_search.querytext_generation.generateLead-enrichment pipeline
For each new HubSpot contact: search LinkedIn, extract company + role, write back to CRM. Approval gate over 100 lookups/day.
web_search.querytext_generation.generateCalendar scheduler
Agent reads your free/busy, proposes 3 slots, creates the event when the invitee picks one. Nylas under the hood.
calendar.readcalendar.createcalendar.updatecalendar.cancelscheduling.send_inviteCRM auto-enrich
Read a HubSpot contact, search the web, write enriched fields back to the same record. crm.read + crm.write handle the auth.
crm.readweb_search.querycrm.writeJira ticket from Sentry error
Sentry webhook fires, summarize the stack trace, ticket.create in Jira/Linear, then ticket.update with the deploy SHA once linked.
text_generation.generateticket.createticket.updateEmail triage from a real inbox
email.search for unreads, email.read to fetch bodies, GPT-4o-mini classifies + drafts, email.reply or email.draft based on confidence.
email.searchemail.readtext_generation.generateemail.replyemail.draftSlack DM digest
Once a day, chat.read each Slack channel you care about, summarize unreads, chat.dm a personalized digest to each opted-in user.
chat.readtext_generation.generatechat.dmChapter 7 - Platform & publishing
Wire a third-party API into Upivia so your org (or every Upivia customer) can call it through the same controlled endpoint.
Publish a private API to your Upivia
Wrap your internal HTTP API (or a third-party one you have a key for) as a service that only your org can call. Agents dispatch through /v1/service-requests like any built-in.
custom.*Publish a service into the public catalog
You run an API and want every Upivia customer to be able to enable it. Submit an adapter spec, we wire it up, and you become a line item in /admin/services.
custom.*