# Request form app for your team

> Canonical: https://teamonly.dev/templates/request-form

A request form and tracker for IT, facilities, HR or the office. People ask in one place and see the status, and you work one queue instead of a full inbox. Only your coworkers can open it.

**Made for:** IT helpers, office managers, facilities, HR

Screenshot: https://teamonly.dev/templates/request-form.webp (The Queue screen of the request form app: open requests with who sent them, the date they are needed by, a status of New or In progress, who has them, and their age)

## What your team gets

- **One form for every request.** What they need, the details, and an optional date they need it by.
- **A queue your team works.** Needed-soonest first, marked New, In progress or Done. Take a request yourself and reply to the person.
- **People follow their own.** Everyone sees the status of their own requests and your reply, and can withdraw one nobody has started.
- **Slack messages if you want them.** Add a Slack webhook and every new request is posted to a channel. Without it, the queue tab shows a count of new requests.

## Who can do what

Only people who can open the app get this far. Inside it, the owner gives roles to coworkers by work email on the People page.

| Who | Can |
|---|---|
| Everyone who can open the app | Send requests and follow their own |
| People who handle requests | See the whole queue, change status, assign, reply |
| Admins | Change who handles requests and who is an admin |
| The owner (who first deploys it) | Everything |

Who can open the app at all is set by TeamOnly: everyone at your company, or only the people you name with `npx teamonly access only`.

## Online in a few commands

You need Node.js on your computer, which Claude Code and Cursor users already have. Run these in a terminal.

1. **Make the app.** This creates a new folder called `requests` with the whole app and installs what it needs.
2. **Try it on your computer.** It opens at `http://localhost:5173`, signed in as a test user who owns the app.
3. **Put it online.** Sign in once per computer, then deploy. You get a link like `requests.acme.teamonly.app` that only your company can open.

```
$ npx teamonly init --template request-form requests
✔ Created "requests" from the request-form template
$ cd requests && npm install
$ npm run dev
  Local: http://localhost:5173/
$ npx teamonly login
✔ Signed in as dana@acme.com
$ npx teamonly deploy
✔ Live at https://requests.acme.teamonly.app
  Only @acme.com accounts can sign in.
```

**After the first deploy:** Open the app, go to People and add whoever handles requests with you. For Slack messages, create an incoming webhook in Slack and run `npx teamonly secrets set SLACK_WEBHOOK_URL`.

**Or just ask.** In Claude Code or Cursor, in the app's folder, type **"deploy this on TeamOnly"**. It runs the commands for you, asks for your work email and the code we send, and offers a 14-day free trial if your company has no plan yet.

## Change it by asking your AI

The template is ordinary code in your folder. Ask Claude Code or Cursor for changes in plain words, check them with `npm run dev`, then deploy again. Some ideas:

- "Add a dropdown for request type, and send laptop requests to a separate list for IT."
- "Let people attach a photo or file to a request."
- "Add a comments thread on each request so we can go back and forth."
- "Email people when their request is marked done."

## What it costs

- The template is free. You pay for TeamOnly, which hosts it, after a 14-day free trial with no card.
- **Builder, $19 a month:** one builder and up to three apps.
- **Team, $249 a month:** any number of builders and apps, and anyone with your company email can deploy.
- Coworkers who only use the app are free. No seats to buy.

Slack messages are optional and use Slack's own incoming webhooks, which come with Slack.

See plans and subscribe: https://teamonly.dev/pricing#subscribe

## Read the code first

Every template is open on GitHub, with its README. Look at it before you start, or show it to IT. https://github.com/sohelsd/teamonly-templates/tree/main/templates/request-form

## Questions people ask

### Can I use it as an IT request form?

Yes. That is a common use. Add the IT team as people who handle requests, and ask your AI tool to add a request type or the fields you need, like the laptop model.

### Do people get an email when their request changes?

Not out of the box, but it is an easy change. TeamOnly apps can email coworkers, so ask your AI tool to email people when their request changes. Until then, they see the status and your reply when they open the app.

### How do Slack messages work?

Create an incoming webhook for a channel in Slack, then run `npx teamonly secrets set SLACK_WEBHOOK_URL` and paste it. The URL is kept as a secret, not in your code.

### Who can see all the requests?

Only the owner, admins and the people you add as handling requests. Everyone else sees only their own.

## Other templates

- [Expense approval](https://teamonly.dev/templates/expense-approval): Receipts, approvers and a monthly view for finance. `npx teamonly init --template expense-approval`
- [Inventory tracker](https://teamonly.dev/templates/inventory-tracker): Counts by location, reorder levels and low stock. `npx teamonly init --template inventory-tracker`
- [Customer lookup](https://teamonly.dev/templates/customer-lookup): Search customers and share notes. `npx teamonly init --template customer-lookup`
- [Ask the docs](https://teamonly.dev/templates/ask-the-docs): Search your handbook and policies. `npx teamonly init --template ask-the-docs`
- [All five templates](https://teamonly.dev/templates)

## Keep reading

- [How it works](https://teamonly.dev/how-it-works)
- [Internal tools](https://teamonly.dev/internal-tools)
- [Pricing](https://teamonly.dev/pricing)

Try it free for 14 days, no card: https://teamonly.dev/pricing#trial. Or subscribe: https://teamonly.dev/pricing#subscribe (Builder $19/mo, Team $249/mo, Business $899/mo)
Not ready? Get updates: https://teamonly.dev/waitlist
