Guides
Build web apps
Describe an app in chat and your AI agent builds it, publishes it to your organization's web app site, and shares it with the right people.
Your AI agent can build small internal apps for you: a lookup page, a form, a report view, a dashboard over your connected apps. It publishes them to your organization's Keyboard web app site and hands you a link. Anyone you share the app with signs in with Keyboard and uses it with their own connected accounts.
Web apps are off until an org admin sets up the site and turns them on. If your agent says web apps aren't available, send your admin to Set up web apps.
Build your first app
Describe what you want, including which apps it should use:
- "Build a web app that lists my open GitHub pull requests across all repos, grouped by repo, with the oldest first."
- "Make an app where I can search our HubSpot contacts and see each one's recent deals."
- "Build a standup form that posts each answer to #standup in Slack."
The agent:
- Checks which apps you have connected and the names already taken on the site.
- Writes the app and publishes it. You get the link straight away.
- Waits for the site to rebuild (about a minute), then tells you when the app is live.
If the build fails, the agent reads the error and fixes it. Once the app is live, try it, and tell the agent what's wrong or what to change.
Iterate on it
Keep talking to the agent:
- "Add a filter for draft pull requests."
- "The contacts table is cut off on my phone. Fix the layout."
- "Clicking Post did nothing. Check what failed."
The agent reads the live source and changes only what's needed, so it doesn't rewrite your app each time. It can also see your recent failed calls from the app, which helps when something doesn't work.
Share it
A new app is visible to everyone in your organization. To narrow that down, or to let others help maintain it:
- "Share the PR dashboard only with the platform team."
- "Let jamie@example.com open the standup app, and make priya@example.com an admin of it."
- "Make the contacts app visible to the whole org again."
| Role | Can do |
|---|---|
| Viewer | Open and use the app |
| Admin | Also republish, edit, reshare and delete it |
| Owner | Everything; the person who published it |
You can only share with teams you belong to. Org admins can share with any team and manage any app.
To see the apps you can open, ask "What web apps can I open?" To remove one, ask the agent to delete it.
What apps can and can't do
Apps run in a locked-down frame on the site. That's what makes them safe to share:
- Data comes from your connected apps. An app can call only the connections it declares when it's published, through Keyboard, using the viewer's accounts. It can't make arbitrary network requests.
- No hard-coded personal data. Because every viewer brings their own accounts, apps query live data for whoever is using them.
- Optional extras. Apps can also call an AI model, use voice input and speech, run code in the viewer's Keyboard sandbox, open links on approved sites, and let the viewer download files the app creates.
- Keep them small. Apps are React components with a fixed set of packages (no installs), up to 1 MB in total.
Admins can see every app's connections, who it's shared with, and a log of every call it makes. See Set up web apps.
Tips
- Name the apps it should use. "From my Google Calendar" is better than "from my calendar".
- Connect apps first. If the app needs an account you haven't connected, the agent asks you to connect it. See Connect your apps.
- Follow the house style. If your admin has written a style note for the site, the agent follows it automatically.
Connect your apps
Connect the apps you use with OAuth, and, as an org admin, add your own APIs and OAuth providers without a secret ever entering the chat.
Security policies
Control which domains, API paths, packages and MCP tools your organization's AI agents can use, and redact sensitive data, drafted from chat and switched on by an admin.
