etappe.ai
Module 01 · Etappe Flow

Tickets, projects, customers.
All in one flow.

From the customer's first sentence to the deploy: Flow keeps tickets, board and estimates together — and everyone involved on the same state.

Krone – SalesApp & PIA Overview Tickets Board
Search … ⌘K
Good afternoon, Johannes!
Hope your day is going well!
+ New ticket
Assigned to me (open) ▼ -48 %
32
144 new in 90 days
Closed by me ▲ +120 %
77
in the last 90 days
My activity
2,066 actions in 90 days
Krone – SalesApp & PIA
3/18 done · +21 in backlog
Grimme – SalesApp & PIA
6/12 done · +6 in backlog
Strautmann – SalesApp & PIA
11/13 done · +3 in backlog
Eisele – SalesApp & PIA
0/4 done
Activity in my projects
Krone · #2324
Maria created #2324 32 min ago
Krone · #1742
Nico commented on #1742 1 hr ago
Schäffer · #615
Alexander commented on #615 2 hrs ago
Krone · #1755
Jonas closed #1755 5 hrs ago
Status changed from “In discussion” to “Approved”
The flow

A ticket isn't a record. It's a journey.

It starts with a sentence from someone who has a problem, and it ends when that problem is solved and invoiced. Flow walks every station — and the AI steps in exactly where it contributes.

✦ what the AI contributes

  1. 01 Capture One sentence in your own words ✦ Asks what's missing. Checks whether it already exists.
  2. 02 Classify Category, area, environment, version ✦ Suggests the classification, keeps catalogues bilingual.
  3. 03 Work Kanban, list, priorities ✦ Summarises long histories.
  4. 04 Clarify Comments, internal and with the customer ✦ Drafts replies. Answers itself when you write @etappe.
  5. 05 Build Branch, pull request, deploy This is where humans work.
  6. 06 Close Estimate, approval, invoice, numbers ✦ Feeds the case back into your history.
01 · Capture

No form. A conversation.

The way into a ticket is one sentence. Flow asks the rest — at most three follow-up questions, asked at once, with answers to click. “I don't know” is always a valid answer: a marked gap in the ticket, not a roadblock.

At the end there is a finished draft — title, classification, structured description. It is filed when a human presses the button.

Flow checks the draft as you type — against existing tickets and the knowledge base. If something looks like the same issue, Flow says so before the duplicate exists: “Probably already reported: #1287” — creating it then takes an explicit “Create anyway”. And sometimes the answer is a docs article — no ticket needed.

New ticket

Pick type, area & environment — title & description follow best practice.

SalesApp WebApp PIA Import TEST PROD
Change: SalesApp – Quote – discount field for tiered prices
Already reported?
#1287 Quote: add discount field Discussion
last active 3 h ago · score 0.86 More
AI summary Add a per-line discount field to the quote editor — including display in the quote PDF.
Related articles
Editing quotes › Price fields & discounts
Checking for similar tickets…
Each quote line should get its own discount field.
AI: structure the description + Create ticket
02 · Classify

Your process, in the system.

Statuses, categories, areas and environments map your workflow instead of replacing it — down to which status counts as done. None of it is nailed down in code.

Rules run on their own: done tickets archive themselves after 14 days, untouched ones move to the backlog after 30, a merged pull request pushes progress along.

Status administration in Etappe Flow: custom statuses with colors, plus per-status switches for default, done target, approval target and "does not count as open".
03 · Work

Kanban for the team, live for everyone.

Four columns that match progress: Open → In progress → Deploy → Done. The order of the cards holds for everyone — no “it's at the top for me though”. One board across all projects, with an AI summary right on the card.

And everything is live: a comment appears for everyone while it's being typed. Nobody asks “have you refreshed?” anymore.

The board in Etappe Flow: four columns from Open to Done, cards with category, status, due dates and assignees, person filters on top.
04 · Clarify

One truth. Two views.

The customer reports, comments and signs off — in the same ticket your team works in. Internal notes aren't hidden from them, they're not there: the separation sits in the server, not the frontend.

On click, Flow delivers three reply drafts with a clear intent — follow-up question, status update, solution. Whether your customer prefers formal or casual address, Flow reads from their own messages. Nothing is ever sent automatically.

Team sees #1802
Julian Melzig 🔒 INTERNAL #17

@Jonas Retry job runs twice. Fix is on you.

Jonas Beerboom #16

We found the bug, the fix ships today.

Maria Südhoff #15

It comes from the supplier portal.

Customer sees #1802

Internal comment #17 — not visible to the customer

Jonas Beerboom #16

We found the bug, the fix ships today.

Maria Südhoff #15

It comes from the supplier portal.

05 · Build

Progress comes from the work.

Copy the branch name from the ticket and get going: the pull request opens — the ticket jumps to “In progress”. Merged — “Deploy”. Deliberately not “Done”: merged is not live. Your team keeps the last word.

Subtasks can be real tickets, split across several heads — each with its own progress and its own pull request. While a child is open, “Done” stays locked.

Progress
✓ Open 2 2 ✓ In progress 3 3 Deploy 4 Done
GitHub
OPEN #82 Bug: SalesApp 7.2 – price list stays empty after offline start
MERGED #82 Bug: SalesApp 7.2 – price list stays empty after offline start
wredemann/salesapp · fix/offline-pricelist · opened just now wredemann/salesapp · fix/offline-pricelist · merged just now
06 · Close

From effort to invoice.

The estimate sits on the ticket, not in a spreadsheet next to it. One click releases it to the customer — read-only, marked “non-binding”. A second turns it into an invoice draft in FastBill, prefilled down to the tax rate.

The numbers are there when you look: resolution time with trend, created vs. resolved, six figures per project — every tile a filter. Customers see their own numbers, without your efforts.

The estimate on the ticket: the "Visible to customer" switch is on, next to it the "Invoice draft" button.
@etappe in the ticket comment

Ask Etappe. In the ticket comment.

@etappe in a ticket comment, question or instruction after it. Etappe replies as a comment right below — from the ticket, the ticket history and Etappe Book, with ticket numbers as evidence. Instructions it carries out and confirms in one sentence; only assigning a customer waits for a button.

Etappe acts with the permissions of whoever addresses it — nothing that person couldn’t do themselves. Every action appears under their name, “via Etappe”. Internal note in, internal reply out. Recognisable by the Etappe mark and the model name.

#1802 Bug: supplier portal – retry job runs twice

Jonas Beerboom #18

@Etappe Have we had this before? And is there an article on it?

Etappe is typing
Etappe ✦ Sonnet 5 #19

Yes, twice: #1287 (March, same cause – retry without a lock) and #1544. Both solved with the job lock. Etappe Book has “Retry jobs in the supplier portal”. Still open here: the customer’s version.

Jonas Beerboom 🔒 INTERNAL #20

@Etappe Move to In progress, add Julian, and remind me on Monday.

Etappe is typing 🔒 INTERNAL
Etappe ✦ Haiku 4.5 🔒 INTERNAL #21

Done: progress set to “In progress”, Julian Melzig assigned, reminder on Monday at 9 am – here in the thread.

Jonas Beerboom: progress to “In progress” via Etappe
Whiteboards

Discuss, check off, move on.

A whiteboard is a small, ordered ticket list for a meeting — within the team or with the customer. Everyone sees the same board, live: whoever sorts or checks something off, sorts and checks it off for everyone.

The spotlight marks what is being discussed right now. Arrow keys move it, space checks off, return opens the ticket. After the meeting the board cleans up after itself — after a configurable idle period it deletes itself. The tickets stay.

Jour fixe · Wredemann
3 TICKETS PRIVATE
✓ #1 Bug: SalesApp 7.2 – price list stays empty after offline start
✓ #3 Feature: PIA – bulk export of order data as CSV
#4 Question: which discount tier applies in the configurator?
↑ ↓ move Space check off ↵ open

What nobody else has

01

The AI sits at the entrance, not behind it.

Everyone puts AI behind the ticket — checking only after it has been created. The bottleneck sits before it.

And it sits in the thread: @etappe in a comment — the answer lands in the same thread, not in a window beside it.

02

Etappe is a destination for outside AI agents.

One click creates a link that serves the ticket machine-readable — the agent reads and comments back. The permission lives in the link: a customer link serves public data only.

Claude, Copilot, your own agent — Flow is the address where they're allowed to work.

03

The customer sits in the ticket, not next to it.

No second portal, no extra licence, no copy-paste status email.

04

From effort to invoice, no detour.

No other ticket system takes this step.

Evidence, not claims

Built for real history
Migrated from ActiveCollab with 14,580 tickets and 96,220 comments
Runs in production
In an agency's daily use since June 2026
Finished, not beta
Full feature set in daily use — no pilot, no early access
AI costs little because it runs deliberately
Similarity search, 14 days: ≈ $0.02 · Reply drafts, 14 days: ≈ $0.13

For IT, procurement and the works council

The AI switches off — completely

One switch, AI off — for the workspace, per project or for your own account. Without a stored key the AI features never start; the rest of the application is untouched.

AI costs are capped

A hard daily budget in tokens, usage visible per feature, warnings at 50% and 100%. Own key per tenant, free choice of model.

Visibility sits in the server

Internal notes, estimates and private tickets aren't hidden — they're never delivered in the first place.

Operations

Hosted in Germany; on the Enterprise plan on a dedicated instance, separate from everyone else. Roles and project access are separate.

The daily budget bar from the AI administration: 0 of 2 million tokens used — at 100% AI calls are rejected, reset at 0:00 UTC.
From the AI administration: the hard daily budget. At 100% Etappe rejects further AI calls — until the midnight reset.
An internal comment on a ticket with a lock icon and the INTERN label.
Internal notes carry the lock — the server never even delivers them to customers.

More on security →

Every feature explained — out in the open

The complete user handbook for Etappe Flow is online: with screenshots, no sign-up, no sales call in between. It is written in German for now.

Open the handbook →

Frequent questions

Does every customer account cost extra?

No. You pay for team seats. How many people read along on the customer's side is your business — not your bill.

Does the customer really see nothing of the internal notes?

Nothing. The filtering happens on the server. The search doesn't find them, the counters don't count them.

Can we map our own statuses and categories?

Yes — including which status counts as done and which doesn't count as open.

Is Flow available in English?

Yes — interface and notifications, each in the recipient's language. Even your own statuses and categories are bilingual.

Can we switch the AI off completely?

Yes, with one switch. On top there's a hard daily budget.

Can Etappe do something in a comment that I’m not allowed to?

No. Etappe acts only with the permissions of the person addressing it. Customers can ask but not instruct — and deleting isn’t on offer to anyone.

Does Flow work with our GitHub?

Yes. Branch name from the ticket; opening and merging PRs move the progress.

What happens to our data from the old system?

The migration from ActiveCollab is built and proven with real data. Even the old passwords keep working.

Flow only comes with Book —
two modules, one price.

Sign up, short onboarding, straight to work — free plan, no credit card.