How to build an internal tool with AI

Turn a spreadsheet-and-email process into a web app with accounts, approval flows, and dashboards. Start with a specific workflow, make access rules explicit, and pilot with the people who will use it.

What counts as an internal tool?

Anything your team uses that customers never see: an equipment or inventory tracker, a client onboarding checklist, a PTO request and approval flow, an applicant pipeline, a vendor directory, an expense log, a job board for crews, a QA checklist with sign-offs. The pattern is the same: structured records, a few roles, a workflow, and a dashboard.

Step 1: Describe the process, not the software

Connect an external MCP client such as Claude, ChatGPT, Cursor, or Codex to Benmore and write what actually happens, in plain language:

"Field techs submit job reports with photos. A supervisor reviews and approves or sends back with notes. Office staff see a dashboard of approved jobs by week and export to Excel for billing."

That single paragraph contains the data model, the roles, the workflow, and the reporting. The AI builds all four: tables, login-gated views per role, an approval state machine, and the dashboard.

Step 2: Bring your existing data

Map spreadsheet columns to the app's schema, import a sample, and check row counts and values before moving the full history. See deploying a spreadsheet as a web app for the import and verification steps.

Step 3: Pilot with the team, then go live

Pilot at the development URL with representative test data and the feedback widget if enabled. Configure roles and table access first, then test as a regular user, supervisor, and unrelated user. Exercise allowed and denied transitions, duplicate submissions, and notification failures. When ready, verify, promote source, and publish; move production data through a separately reviewed import.

Use the Codex and Claude guide for the full build and release loop. Teams operating their own infrastructure can follow the self-hosting guide.

What you can build with the framework

  • Roles and permissions. Techs see their jobs; supervisors see everything; clients see only their portal.
  • Workflows. Real state machines: submitted, approved, rejected, with rules about who can move what.
  • Audit history. Every change recorded, every approval attributable.
  • Notifications. Email on submission, approval, or overdue items.
  • An API. Every table gets a typed REST API automatically, so the tool can talk to the rest of your stack.
Build your internal tool free

Frequently asked questions

How long does it take to build an internal tool this way?
The first prototype can be quick; delivery depends on the data migration, permissions, integrations, and user journeys you need to verify.
Can it handle approvals and multi-step workflows?
Yes. Apps support state machines with role-gated transitions, so approval chains, review steps, and status flows are first-class.
Who hosts it and how is it secured?
Benmore hosts every app with HTTPS, authenticated sessions, role-based access, rate limiting, and audit logging. Each app has its own isolated database.
Can developers extend it later?
Yes. Every app is real code: a Prisma schema, TypeScript pages, and YAML config, editable from the terminal with the Benmore CLI or any AI coding agent.