TM
Web Design + Development
Consulting + Analysis
Branding / Re-Branding
Content Creation + Management
Workshops
As a creative digital agency, we develop tailor-made solutions for our clients – and we wanted to apply the same standard to our internal processes.
Instead of relying on external tools, we decided to build a custom solution from the ground up.
Our goal: A website that presents our services with a unique, branded design – configurable, secure, and backed by clear internal workflows. At the same time, we wanted a system we could develop further ourselves, free from third-party dependencies.
A central aspect for us was having full control over our data. Proposals, invoices, brand sprints – we didn’t want to store any of it on proprietary SaaS platforms. Instead, we wanted an environment we own and operate ourselves.
We also needed a setup that could grow with us.
Many external tools eventually reach their limits – whether functionally, financially, or due to limited APIs. By building our own system with Payload CMS, we gained maximum flexibility: we can integrate new modules, adapt processes, and evolve the platform over time – exactly in line with the needs of our work.
Book a demo
We chose Payload CMS because it perfectly aligns with our tech stack and our philosophy:
Payload is written entirely in TypeScript and integrates seamlessly into custom projects. With Payload’s access control, we can precisely define who can view or edit what – whether it's role-based permissions within the team or restrictions around sensitive data. Using hooks, we implement custom logic directly in the CMS, such as automated emails, PDF generation, or Slack notifications.
Despite being headless, Payload offers a user-friendly admin UI that we can fully customize or extend as needed. This gives our team a simple interface without compromising on flexibility or control.
Our proposal module in Payload is more than just a collection – it represents our entire offer process in technical form. Step by step:
In the offers collection, we capture all relevant information: client, validity period, title, text modules, optional attachments, and terms & conditions.
The core, however, lies in the line items – divided into services and discounts. Each item can be, for example, hourly-based, flat-rate, or optional.
The structure is clearly organized into tabs and rows, making it much easier to work with in the admin UI. And if we ever need a special field or checkbox, it’s simple to add.
To avoid manual calculations, a beforeChange hook automatically computes subtotals, taxes, and the grand total – including rounding and optional items. Discounts are correctly applied as well.
A second hook generates sequential proposal numbers based on a custom schema using the current year and existing entries. This keeps things organized and prevents duplicates.
Using Payload’s access features, we define exactly who can read or edit which content:
In our case, only admins are allowed to create or delete proposals. Edits are only permitted while a proposal is still open – once accepted, all fields become read-only. This prevents accidental changes and maintains data integrity.
Thanks to custom UI components in Payload, we’ve added buttons like “Create Invoice” or “Create Down Payment Invoice” directly into the admin interface. Behind the scenes, logic handles the necessary links, field transfers, and validations.
We’ve also implemented custom endpoints – for example, to make a proposal externally accessible. This allows for seamless frontend integrations and automations (like Slack notifications or CRM syncing).
We’re currently working on an AI agent that can generate proposals autonomously. The idea: a colleague sends a voice message via WhatsApp – and based on existing proposals, project plans, and client data, the AI automatically creates a new proposal in the system.
This works especially well because:
The goal is to further accelerate our internal workflows without compromising on quality or control.
The agent doesn’t work fully autonomously – instead, it acts as a smart assistant for the team: fast, transparent, and secure.
We use Payload CMS to manage all our proposals and invoices entirely in-house – with full control over data, access, and workflows.
Automatic proposal numbers, price calculations, custom permissions, and dedicated APIs make our system both flexible and future-proof.
We're currently developing an AI agent that will soon generate proposals automatically – triggered via WhatsApp and with clearly defined permissions in the CMS.
Book a demo
Want to know how Payload CMS could work for your business?
Or are you looking for a custom solution for proposal creation and automation? Let’s talk!
Just drop us a message – we’re looking forward to hearing from you.
Sag Hallo