Skip to content
dhanu docs
Browse pages

Tasks

What your app can use

Apps are not sealed off — they can call an AI model, fetch an external API, send email, and read your workspace's knowledge, documents and tasks for signed-in members.

An app built in Dhanu can do more than a static page, because Dhanu hands it a small set of capabilities at runtime. You never write the code for these — you ask for the behaviour, and the assistant wires it up.

CapabilityWhat you would ask for
Saved data“Remember what people enter”
AI“Summarise what they typed”, “suggest a reply”, “rate this answer”
External APIs“Pull the exchange rate from this endpoint”
Email“Email me when someone submits the form”
Workspace data“Search our company knowledge from inside the app”

AI inside your app

Your app can call a model at runtime — a summariser, a classifier, a chat box, a “suggest a subject line” button. It is the same model layer the assistant uses, and it is rate-limited per app, so a runaway loop in a published app cannot burn through your workspace’s budget unnoticed.

Talking to other services

Apps reach external APIs through Dhanu rather than directly. That is what makes the request safe — it cannot be pointed at internal addresses — and it is why credentials for those services belong in a backend function, never in the app’s own files.

Sending email

An app can send mail — a confirmation to whoever filled in the form, a notification to you. Say who should receive what and when; the sending itself is handled for you.

Reading your workspace

For signed-in members of your workspace only, an app can read:

  • your company knowledge, by search
  • your documents
  • your tasks

All read-only. This is what makes internal tools worth building — a dashboard over your own tasks, a lookup over your own knowledge base — and it is also the reason to think about who can open the app before you publish one that uses it.

Anonymous visitors and the app’s own end users never see workspace data. If the app is public, those calls simply return nothing for them.

Media

Images and sound the assistant generated in the same task can be used directly inside the app, and are bundled with it when you publish or export.

Working with it well

Ask for the outcome. “Email me a copy of every submission” is buildable. “Use the email API” is not a requirement, it is a guess about implementation.

Expect the slow paths to show it. Anything that calls a model, an API or the network takes a moment; a good app shows a loading state and an error state, and the assistant is instructed to build both. If you see a blank pause instead, say so.

Remember what is public. An app open to the internet should not be reading your workspace and showing what it finds. Lock it to workspace members if it does.