Records
Create collections with typed fields, references, and recurring dates. Records are validated when saved. Your assistant can filter and sort them, find occurrences in a date range, and calculate counts, totals, or averages.
Do all SaaS go to heaven?
An experiment in finding the primitives all SaaS apps need, letting the AI assistant and agent build upon them via MCP, CLI, and/or API.
Open source · Hosted version is free · Made with ♥ in SF
Records, files, access, and background work are the building blocks. Combine them into the application you need, and let Claude, ChatGPT, or another assistant work with them through MCP, CLI, or API.
Create collections with typed fields, references, and recurring dates. Records are validated when saved. Your assistant can filter and sort them, find occurrences in a date range, and calculate counts, totals, or averages.
Upload files from the CLI or a browser link, attach them to a collection, and retrieve them through your assistant. Share temporary download links. Each file keeps its name, type, size, upload date, and the account that uploaded it.
Invite teammates into an organization and manage their roles and access. Connect an assistant through your account. For unattended work, you can also give an agent its own service account, permissions, and API token.
Grant access to people, service accounts, or roles. Limit which collection records and fields they can read or change. Control access to files and queues separately. Invitations can include grants that take effect when accepted.
Notify yourself, selected teammates, a role, or the whole organization. Send now, at a specific time, or on a recurring schedule. Choose email and workspace delivery; each recipient can set preferences and mark messages as read.
Review record edits, file uploads, membership changes, and automation activity. See which person or agent made a change and when. Filter by action or resource type, and inspect queued jobs separately for their current state and attempt count.
Publish validated jobs for workers to claim and acknowledge. Queue settings control retry and lease behavior; heartbeats keep long tasks alive. Inspect current job state and retry failed work. Give different job types separate queues when access differs.
Turn record creation, updates, or deletion into queued work. Choose the fields to watch, filter matching records, and map the data a worker needs. The record change and its job publication commit together.
Queue a report, sync, or follow-up for a specific time or a recurring rule in your timezone. Pause, edit, and resume schedules. After downtime, recurring schedules run once for missed work before moving to the next occurrence.
Save related record changes in one request. The changes and any triggered jobs succeed or roll back together. An idempotency key lets you repeat the same request without creating duplicate records or jobs during its retention period.
Create service accounts for agents in your organization. Each agents has its own API token so it can connect independently and run unattended work.
You: What’s on our AI research group’s reading list?
There are 2 papers on the reading list:
You: Add SaaS-Bench to the reading list for our next discussion.
Added SaaS-Bench by Kean Shi et al. to the reading list for our next discussion.
You: Show me the materials for our discussion of SaaS-Bench.
The SaaS-Bench discussion meeting has 2 attachments:
meeting-agenda.md2605.15777v2.pdfYou: Attach these notes to the SaaS-Bench meeting.
Attached discussion-notes.md to the SaaS-Bench discussion meeting alongside the agenda and paper.
You: Show me the members added this week.
3 members joined this week:
| Name | Role | Joined |
|---|---|---|
| Maya Chen | Member | Monday |
| Sam Patel | Member | Wednesday |
| Alex Rivera | Member | Thursday |
You: Invite [email protected] to our AI research group.
I’ve invited [email protected] as a Member. The invitation is pending until they accept it.
You: Who has access to the reading list?
The reading list has these member access rules:
| Member | Access |
|---|---|
| Maya Chen | Read and write |
| Sam Patel | Read only |
You: Give [email protected] read and write access to the reading list.
[email protected] can now read, add, and edit papers in the reading list.
You: Help me set up a service account for my research agent. It should only be able to read the reading list.
Created Research agent with read access to the reading list. It has its own identity in this organization.
Your next step is to open the one-time claim link in your browser and collect the API token. Configure that token in your agent’s environment.
You can rotate or revoke its token and change its permissions later. Actions it performs are attributed to its service account.
You: When a record is created in our tickets collection, queue its ID for my triage worker.
New tickets will publish their IDs to triage_jobs. The ticket and its queued job are saved together.
Your worker can claim jobs from triage_jobs, process them, and acknowledge completion. Its service account needs queue access, plus any collection access needed to read or update the ticket.
Queue settings control retries and lease duration. You can inspect current job state to see what is waiting, running, or finished.
You: What reminders do I have for our next meetup?
You have 1 reminder scheduled:
| Reminder | When |
|---|---|
| Read SaaS-Bench | Wednesday, 8:00 PM |
You: Remind me Thursday at 6 PM to bring my notes to the SaaS-Bench discussion.
I’ll remind you on Thursday at 6:00 PM:
Bring notes to the SaaS-Bench discussion.
You: Show me today’s changes to our AI research group.
I found 3 events today:
| Time | Action | Details |
|---|---|---|
| 10:42 | Record added | Reading List / SaaS-Bench |
| 10:18 | File uploaded | /ai-reading-group/discussion-notes.md |
| 09:56 | Member invited | [email protected] |
You: Show me visualization of our past meetings
I put our 7 past meetings and reading list into a dashboard. You can filter by paper and open each meeting’s notes.
AI research group
Getting started
Create an account via the web application and then connect your assistant.
Choose your tool and how you’d like it to connect.
https://app.thelastsaas.com/v1/mcpOn a team plan, an owner may need to add the connector first. Claude’s connection guide
Once connected, send this to your assistant:
Walk me through the Last SaaS getting started tutorial.
Open the prompt in the tool you connected in step 2. Make sure The Last SaaS is enabled in the new conversation.
Connect that app in step 2 before starting the tutorial.
Desktop links need the app installed. If a link doesn’t carry the prompt through sign-in, copy and paste it into your connected conversation.
Use the free hosted service or self-host with PostgreSQL or SQLite. Export records, schemas, access rules, and automation configuration with one command. Database backups preserve pending jobs. Contributions welcome. Permissive MIT license.