The Last SaaS · A Headless SaaS for Agents and Assistants

The Last SaaS

7 min read Original article ↗

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

What if all SaaS apps could be reduced to their base primitives?

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.

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.

Files

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.

Accounts

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.

Permissions

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.

Notifications

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.

Audit logs

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.

Durable job queues

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.

Collection triggers

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.

Schedules

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.

Atomic transactions

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.

Agent accounts

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?

Assistant

Searched recordsThe Last SaaS

Collection
Reading List

Results
2 papers

You: Add SaaS-Bench to the reading list for our next discussion.

Assistant

Added recordThe Last SaaS

Collection
Reading List

Paper
SaaS-Bench: Can Computer-Use Agents Leverage Real-World SaaS to Solve Professional Workflows?

Authors
Kean Shi et al.

Source
arXiv:2605.15777

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.

Assistant

Read meeting attachmentsThe Last SaaS

Collection
Meetings

Record
SaaS-Bench discussion

Field
Materials

Results
2 files

The SaaS-Bench discussion meeting has 2 attachments:

  • meeting-agenda.md
  • 2605.15777v2.pdf

You: discussion-notes.mdAttached · 12 KBAttach these notes to the SaaS-Bench meeting.

Assistant

Uploaded and attached notesThe Last SaaS

Collection
Meetings

Record
SaaS-Bench discussion

Field
Materials

Type
Markdown

Size
12 KB

Attached discussion-notes.md to the SaaS-Bench discussion meeting alongside the agenda and paper.

You: Show me the members added this week.

Assistant

Listed membersThe Last SaaS

Joined
This week

Results
3 members

3 members joined this week:

NameRoleJoined
Maya ChenMemberMonday
Sam PatelMemberWednesday
Alex RiveraMemberThursday

You: Who has access to the reading list?

Assistant

Checked access rulesThe Last SaaS

Collection
Reading List

Access rules
2 members

The reading list has these member access rules:

MemberAccess
Maya ChenRead and write
Sam PatelRead only

You: Help me set up a service account for my research agent. It should only be able to read the reading list.

Assistant

Created service account and granted accessThe Last SaaS

Account
Research agent

Collection
Reading List

Access
Read only

Token
Awaiting administrator claim

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.

Assistant

Configured queue and triggerThe Last SaaS

Source
tickets · record created

Queue
triage_jobs

Payload
ticket_id mapped from the record ID

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?

Assistant

Listed notificationsThe Last SaaS

Status
Scheduled

Results
1 reminder

You have 1 reminder scheduled:

ReminderWhen
Read SaaS-BenchWednesday, 8:00 PM

You: Remind me Thursday at 6 PM to bring my notes to the SaaS-Bench discussion.

Assistant

Scheduled notificationThe Last SaaS

When
Thursday, 6:00 PM

Message
Bring 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.

Assistant

Searched audit logsThe Last SaaS

When
Today

Results
3 events

I found 3 events today:

TimeActionDetails
10:42Record addedReading List / SaaS-Bench
10:18File uploaded/ai-reading-group/discussion-notes.md
09:56Member invited[email protected]

You: Show me visualization of our past meetings

Assistant

Read meeting recordsThe Last SaaS

Collection
Meetings

Period
30 July–10 September 2026

Results
7 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

Reading & meetings

July–September 2026

30 Jul – 10 Sep

Meeting activity

People at each meeting

Next discussion
SaaS-Bench

Reading room · Maya Chen

Bring notes on how the benchmark evaluates multi-step workflows.

Getting started

Get started with a guided tutorial

Create an account via the web application and then connect your assistant.

  1. Create Account

    Sign up, verify your email if prompted, and create an organization.

  2. Connect your assistant or agent

    Choose your tool and how you’d like it to connect.

    Connect Claude over MCP

    1. In Claude, open Customize → Connectors, then choose + → Add custom connector.
    2. Name it The Last SaaS and enter this server URL:
      https://app.thelastsaas.com/v1/mcp
    3. Add the connector and click Connect. Sign in to The Last SaaS, choose your organization, and approve access.
    4. Enable The Last SaaS in your conversation’s tools menu.

    On a team plan, an owner may need to add the connector first. Claude’s connection guide

  3. Start the tutorial

    Once connected, send this to your assistant:

    Your first message

    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.

    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.

100% Open Source

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.

View on GitHub