Ich habe in der Vergangenheit viele Varianten von CRMs gesehen: Excel- und Notion-Tabellen am einen Ende, große Plattformen wie HubSpot, die schnell mehrere tausend Euro im Monat kosten, am anderen. Der Sweet Spot liegt oft dazwischen. Du brauchst nicht alles, was die großen Anbieter können, aber ein paar Funktionen, die genau zu deinem Geschäft passen.
In diesem Artikel baue ich so ein CRM mit Softr, einer No-Code-Plattform aus Berlin, die inzwischen einen KI-Assistenten mitbringt. Am Ende steht ein Lead-CRM mit Pipeline, Login, Rollen, Kontaktformular, E-Mail-Benachrichtigung, KI-Lead-Score und Dashboard. Wenn du lieber den Weg mit echtem Code gehen willst, findest du in meiner Anleitung, wie du mit Claude Code deine erste Web-App entwickelst, das Gegenstück dazu.
Warum ein CRM selbst bauen?
Ein CRM (Customer Relationship Management) gibt dir den Überblick über Kaufinteressenten und laufende Deals. Im besten Fall bewertet es neue Anfragen auch gleich: Wie wahrscheinlich ist es, dass aus diesem Lead ein Auftrag wird?
Standardlösungen sind entweder zu dünn oder zu groß und zu teuer. Ein eigenes Tool kann genau die Felder, Ansichten und Bewertungen haben, die dein Geschäft braucht. Die Frage ist nur, wie du es baust, ohne selbst Entwickler zu sein.
Das Problem mit Vibe Coding für Business-Apps
Naheliegend wäre ein Vibe-Coding-Tool wie Lovable oder Replit. Damit hast du in wenigen Minuten ein schönes Frontend. Aber genau dann fangen die eigentlichen Fragen an:
- Wie kommt ein Lead aus einem Formular in die Datenbank?
- Wie stellst du sicher, dass nur du Zugriff auf deine Leads hast und nicht jeder, der die URL kennt?
- Wo lagerst du deine API-Keys?
- Wie läuft das mit Hosting, Authentifizierung und Sicherheit?
- Wer wartet das Ding in drei Monaten?
Spätestens wenn echte Nutzer:innen sensible Daten in deiner Anwendung speichern, musst du darauf Antworten haben. Ohne Erfahrung in Softwareentwicklung ist das schwer.
Dazu kommt ein bekanntes Muster: Die ersten 80 Prozent sind mit Vibe Coding extrem schnell gebaut. Die letzten 20 Prozent werden zum ständigen Hin- und Herprompten, weil die KI nicht genau das macht, was du willst. Dabei verbrennst du viele Tokens und Credits.
Was ist Softr?
Softr ist eine Plattform für Business-Software: Portale, interne Tools und operative Systeme. Sie deckt den kompletten Stack ab:
| Ebene | Wie du sie in Softr baust |
|---|---|
| Frontend | KI-Assistent (AI Co-Builder) und visueller No-Code-Editor |
| Logik | Workflow-Builder, also visuelle Automatisierungen |
| Daten | Integrierte Datenbank, alternativ externe Datenquellen über Integrationen |
| Betrieb | Hosting, Login, Rechteverwaltung und Sicherheit sind eingebaut |
Der entscheidende Punkt für die letzten 20 Prozent: Nach der KI-Generierung kannst du jede Anpassung per Maus im Editor machen. Du musst nicht für jede Kleinigkeit neu prompten.
Ich habe Softr schon früher in meiner Softwareagentur für Kundenprojekte eingesetzt, weil man damit sehr schnell zu Ergebnissen kommt. Mit dem KI-Assistenten geht das jetzt noch einmal schneller.
Schritt 1: Das CRM per Prompt generieren
Im Softr-Dashboard siehst du deine Apps, Datenbanken, Workflows, Formulare und Integrationen. Für eine neue App klickst du auf „Generate with AI“ und beschreibst, was du brauchst. Mein Prompt sah sinngemäß so aus:
Erstelle mir ein B2B-Lead-CRM für Freelancer und Agenturen, um eingehende Anfragen zu verwalten. Die gesamte App soll auf Deutsch sein.
Kernfunktionen:
- Interne Pipeline-Ansicht mit allen Leads und ihrem aktuellen Status (neu, kontaktiert, qualifiziert usw.)
- Lead-Detailansicht mit allen eingereichten Informationen, Notizen und einem KI-Lead-Score, der bewertet, ob der Lead zu uns und unserem Angebot passt
Felder pro Lead: Betreff, Projektbeschreibung, Unternehmen, E-Mail, Website, "Wie bist du auf uns aufmerksam geworden?", Budgetrahmen, Branche, Status, Lead Score
Benutzerrollen:
- Owner und Sales: Vollzugriff auf die gesamte Anwendung
- Nicht angemeldete Nutzer haben keinen Zugriff
Wichtig ist der letzte Block. Wer was sehen darf, gehört von Anfang an in den Prompt.
Rückfragen vor dem Bauen
Bevor Softr loslegt, stellt der Assistent Rückfragen. Das finde ich gut, denn so entsteht die Anforderung gemeinsam, statt dass die KI rät:
- Login: per E-Mail oder Google SSO? Ich habe E-Mail gewählt.
- Selbstregistrierung: Dürfen sich Leute selbst anmelden? Nein. Das CRM ist ein Invite-only-System.
- Navigation: Layout getrennt für Desktop und Mobil. Die App wird automatisch auch für Mobilgeräte optimiert.
- Theme: eine Designvorlage, die du später weiter anpassen kannst. Ich habe das Standarddesign genommen.
Datenbank zuerst, dann Oberfläche
Während der Generierung dokumentiert Softr jeden Schritt. Zuerst baut es die Datenbasis: eine Tabelle für die Benutzer:innen und eine für die Leads, jeweils mit Beispieldaten. Erst danach wechselt es in die Frontend-Entwicklung und legt Übersicht, Detailseite, Kanban-Pipeline und Navigation an.
Nach etwa anderthalb Minuten war die App fertig. Die Beispieldaten sind praktisch, weil die App sofort lebendig aussieht. Später ersetzt du sie durch echte Daten.
Schritt 2: Die generierte App prüfen
In der Vorschau kannst du die App als bestimmter Nutzer ansehen. Das ist bei mehreren Rollen mit unterschiedlichen Rechten sehr hilfreich, weil du direkt siehst, was welche Person zu sehen bekommt.
Generiert wurden unter anderem:
- eine Startseite mit Begrüßung, ein paar Kennzahlen und der Lead-Pipeline als Kanban-Board, in dem du Leads per Drag and Drop zwischen Status verschiebst,
- eine Leads-Seite mit Tabelle, in der du Leads anlegen, suchen, bearbeiten und löschen kannst,
- eine Detailansicht pro Lead,
- eine globale Suche, die direkt zur Detailansicht springt,
- ein Benutzerprofil mit Account-Einstellungen und Abmelden,
- Ansichten für Tablet und Mobil.
Für eine erste Generierung ist das schon recht vollständig. Was noch fehlte: ein wirklich intelligenter Lead Score, eine KI-Zusammenfassung und ein eigenes Dashboard.
Schritt 3: Den Editor kennenlernen
Du kannst weiter mit dem KI-Assistenten arbeiten. Die letzten 20 Prozent lassen sich aber meist schneller direkt im Editor erledigen. Er hat mehrere Bereiche:
- Interface: Hier bearbeitest du das Frontend. Seiten bestehen aus Blöcken. Klickst du einen Block an, änderst du seine Datenquelle, die angezeigten Felder, die Aktionen (etwa den Button „Lead hinzufügen“), Layout und Styling sowie die Sichtbarkeit.
- Data: Deine Datenbank in Tabellenform. Du kannst Werte direkt ändern und neue Spalten anlegen.
- Users: Authentifizierung, die Liste aller berechtigten Nutzer:innen und die Benutzergruppen.
- Workflows: Automatisierungen.
Schritt 4: Rollen und Rechte einrichten
Rechte sind der Teil, der bei selbstgebauten Apps am häufigsten schiefgeht. In Softr laufen sie über User Groups. Grundsätzlich unterscheidet Softr zwischen Visitors (nicht angemeldet) und Logged-in Users. Für die angemeldeten Nutzer hatte der Assistent bereits die Gruppe „Owner und Sales“ angelegt.
So fügst du eine weitere Rolle hinzu, zum Beispiel Admin:
- In der Benutzertabelle das Feld „Rolle“ bearbeiten und den Wert „Admin“ ergänzen.
- Den gewünschten Nutzer:innen diese Rolle zuweisen.
- Unter Users über „Add Custom Group“ eine Gruppe „Admin“ anlegen.
- Statt die Mitglieder manuell zuzuweisen, eine Bedingung festlegen: Wenn das Feld „Rolle“ den Wert „Admin“ enthält, gehört die Person zur Gruppe.
Sichtbarkeit auf drei Ebenen
Mit den Gruppen steuerst du dann, wer was sieht und darf:
| Ebene | Wo | Beispiel |
|---|---|---|
| Seite | Seiteneinstellungen → Visibility | Nur angemeldete Nutzer:innen, optional nur bestimmte Gruppen |
| Block | Visibility-Reiter des Blocks | Ein Bereich der Seite nur für Admins |
| Daten | Data Restrictions pro Tabelle | Welche Gruppe Leads sehen, anlegen, bearbeiten oder löschen darf |
Der Vorteil gegenüber einer selbst gecodeten App: Du siehst die Rechte im Editor und kannst sie in der Vorschau pro Nutzer prüfen. Du musst keinen Code lesen, um zu verstehen, wer Zugriff hat.
Schritt 5: Workflow für neue Leads
Wenn sich ein neuer Lead einträgt, möchte ich per E-Mail benachrichtigt werden. Dafür bräuchte man normalerweise ein externes Automatisierungstool wie n8n oder Make. In Softr geht das mit dem eingebauten Workflow-Builder.
Automatisierungen folgen dem Prinzip „wenn das, dann das“: Ein Trigger löst aus, danach laufen eine oder mehrere Aktionen. Softr bietet unter anderem Datenbank-Trigger, App-Trigger, Webhooks, zeitgesteuerte Trigger und Trigger aus Integrationen.
Für die Benachrichtigung:
- Als Trigger einen Datenbank-Trigger wählen, der feuert, sobald ein neuer Datensatz angelegt wird.
- Die CRM-Datenbank und darin die Lead-Tabelle verknüpfen.
- Als Aktion „E-Mail senden“ wählen, Empfänger, Betreff und Text eintragen.
- Im Text Platzhalter aus dem neuen Datensatz einfügen, etwa Vorname, Nachname und Unternehmen.
Als weitere Aktionen stehen unter anderem KI-Funktionen, das Anlegen von Datensätzen, Aufrufe anderer Systeme, eigener Code und alle Integrationen zur Verfügung.
Schritt 6: Ein Kontaktformular, das direkt ins CRM schreibt
Damit neue Anfragen im CRM landen, brauchst du ein Formular, das du auf deiner Website einbinden kannst. Das baust du im Hauptmenü unter Forms.
Jedes Formular hat standardmäßig eine eigene kleine Liste, in der die Einträge landen. Die stellst du um:
- Unter Destination die Softr-Datenbank statt der eingebauten Formular-Datenbank wählen und die bestehende Verbindung trennen.
- Die CRM-Datenbank und die Lead-Tabelle auswählen.
- Titel und Untertitel anpassen, bei mir „Projektanfrage“ und „Wir freuen uns auf dein Projekt“, und den Button in „Absenden“ umbenennen.
- Input-Felder hinzufügen. Weil das Formular mit der Datenbank verbunden ist, wählst du direkt aus den vorhandenen Feldern: Betreff, Projektbeschreibung, Unternehmen, Website, „Wie bist du auf uns aufmerksam geworden?“, Budgetrahmen, Branche. Die E-Mail-Adresse nicht vergessen, die hatte ich im ersten Anlauf übersehen.
Status als verstecktes Feld
Ein Detail ist wichtig: Jeder neue Lead soll im CRM den Status „neu“ bekommen. Der Status darf aber nicht als Auswahl im Formular auftauchen. Deshalb fügst du das Feld „Status“ hinzu, stellst es auf Hidden Input und gibst als festen Wert „neu“ mit.
Weitere Optionen:
- Mehrstufige Formulare über den Bereich Steps. Bei vielen Feldern ist das für die Nutzerführung besser.
- Nach dem Absenden eine Erfolgsmeldung oder eine Weiterleitung auf eine Danke-Seite.
- Styles für Positionierung und Farben.
Nach dem Veröffentlichen kannst du das Formular von Softr hosten lassen, unter einer Subdomain oder deiner eigenen Domain, oder es per iframe-Code in deine Website einbetten.
Im Test habe ich als fiktive Autoversicherung eine Anfrage für eine Landing Page zu einem neuen Versicherungsprodukt geschickt. Der Eintrag erschien sofort in der Datenbank mit Status „neu“ und in der Pipeline in der Spalte „Neu“.
Schritt 7: KI-Lead-Scoring direkt in der Datenbank
Jetzt der spannendste Teil. Der Lead Score war bisher nur ein einfaches Zahlenfeld. Für mein Beispiel nehme ich an, dass ich eine Webdesign-Agentur bin, die auf Kunden aus der Versicherungsbranche spezialisiert ist.
In den Feldeinstellungen des Lead Scores aktivierst du die Option, das Feld von KI befüllen zu lassen. Dann erscheint ein Prompt-Feld:
Bitte bestimme anhand der Lead-Informationen einen Lead Score auf einer Skala von 0 bis 100, der angibt, wie gut der Lead zu uns passt.
Kontext: Wir sind eine Webdesign-Agentur, die auf Kunden aus der Versicherungsbranche spezialisiert ist. Wir setzen am liebsten Landing Pages um, und zwar ab einem Budgetrahmen von 3.000 Euro.
Unternehmen: [Feld Unternehmen]
Betreff: [Feld Betreff]
Projektbeschreibung: [Feld Projektbeschreibung]
Budget: [Feld Budgetrahmen]
Branche: [Feld Branche]
Die eckigen Klammern stehen für Feldreferenzen. Die KI hat keinen freien Zugriff auf die Datenbank. Du musst die Felder, die sie bewerten soll, über den Add-Button aktiv in den Prompt einfügen. Ergänzt du die Website, kann das Modell die Seite des Unternehmens besuchen, sofern die Website das zulässt, und die Bewertung mit weiteren Informationen anreichern.
Weitere Einstellungen:
- Modell: Zur Auswahl stehen Modelle von Gemini, GPT, Claude und Mistral. Die Anbindung übernimmt Softr, du brauchst keine eigenen API-Keys. Ich habe GPT-4.1 genommen, weil die Aufgabe nicht komplex ist.
- Manuelles Überschreiben des Werts erlauben oder nicht.
- Wann die KI läuft: manuell, beim Anlegen eines Datensatzes und/oder bei Änderungen. Ich habe Anlegen und Ändern aktiviert, damit der Score sich aktualisiert, wenn sich zum Beispiel die Projektbeschreibung ändert.
Das Ergebnis im Test:
| Anfrage | Lead Score |
|---|---|
| Landing Page für neues Versicherungsprodukt | 85 |
| Pitch Deck und Website für ein SaaS | 80 |
| Website-Wartung mit kleinen Optimierungen | 15 |
Für einen ersten Wurf ist das plausibel. Mit einem genaueren Prompt bekommst du realistischere Werte.
KI-Zusammenfassung als zweites Feld
Eine Zahl allein erklärt nicht, warum ein Lead passt. Deshalb habe ich ein neues Feld „KI-Zusammenfassung“ angelegt, direkt als KI-Feld vom Typ Long Text, und denselben Prompt verwendet. Nur die Aufgabe am Anfang lautet jetzt: eine Zusammenfassung in maximal vier Sätzen, wie gut der Lead zu uns passt.
Für die Versicherungs-Landing-Page kam heraus, dass der Lead sehr gut passt: Autoversicherung, neue Landing Page, Budget im bevorzugten Bereich. Für die Wartungsanfrage: passt nicht, Budget unter 1.000 Euro, keine Versicherung, nur kleine Anpassungen. Das reicht für die Entscheidung, ob sich weitere Arbeit lohnt.
Damit die Zusammenfassung auch in der App auftaucht, klickst du in der Lead-Detailansicht den Block an, gehst in den Content-Bereich und fügst das neue Feld in der gewünschten Sektion hinzu.
Schritt 8: Ein Dashboard mit Kennzahlen bauen
Zum Schluss eine eigene Seite, um den Interface-Builder besser kennenzulernen. Unter Pages legst du eine neue Seite „Dashboard“ an und fügst über das Plus Blöcke hinzu. Softr unterscheidet drei Arten:
- Dynamische Blöcke zeigen Daten aus der Datenbank an: Listen, Tabellen, Detailansichten, Charts.
- Statische Blöcke für reine Inhalte wie Hero-, Call-to-Action- oder Team-Sektionen, eher für Websites.
- Container strukturieren die Seite, zum Beispiel in Spalten.
Mein Dashboard besteht aus:
- Einem zweispaltigen Container mit Titel „Dashboard“ und Untertitel, linksbündig und fett über die Styles.
- Einer Kennzahl „Anzahl Leads“: Block Chart → Metric, Datenquelle Lead-Tabelle, Aggregation „Count all“.
- Einer Kennzahl „Lead Score (Durchschnitt)“: Aggregation „Average“ auf das Feld Lead Score. Bei mir lag der Schnitt bei 49.
- Einem Vibe-Coding-Block für eine Tabelle der Leads der letzten sieben Tage.
Der Vibe-Coding-Block ist ein Block, dessen Inhalt du per Chat erzeugst. Wichtig: Erst die Datenquelle verknüpfen, hier die Lead-Tabelle, dann prompten. Sonst weist dich der Assistent darauf hin, dass ihm die Verknüpfung fehlt.
Bitte erstelle mir eine tabellarische Ansicht der Leads der letzten 7 Tage.
Den generierten Code kannst du dir im Content-Bereich des Blocks ansehen. Sichtbarkeit und Rechte stellst du wie bei jedem anderen Block ein. So kombinierst du fertige Bausteine mit eigenem Code dort, wo die Bausteine nicht reichen.
Veröffentlichen, Login und Backups
Mit einem Klick auf Publish geht die App live, unter einer Softr-Subdomain oder deiner eigenen Domain. Ein paar Dinge, die du vorher kennen solltest:
- Utility Pages: Neben den App-Seiten legt Softr Seiten wie Login automatisch an. Wer nicht angemeldet ist, landet dort. Der Login läuft per E-Mail-Code, ohne Passwort.
- Theme: Farben, Schriften und Stile für die ganze App.
- Settings: App-Name, Favicon, Logo in der Navigation und weitere Einstellungen.
- Version History: Softr legt automatisch Sicherungspunkte an, du kannst auch manuell Snapshots erstellen. Löschst du versehentlich etwas, rollst du auf einen älteren Stand zurück.
Wann passt Softr, wann Claude Code?
Beide Wege führen zu einer funktionierenden App, aber mit unterschiedlichen Stärken:
| Softr | Claude Code | |
|---|---|---|
| Ansatz | App aus fertigen Bausteinen, per KI und Editor | Eigener Code, von KI geschrieben |
| Login, Rechte, Hosting | Eingebaut und visuell prüfbar | Selbst einrichten und absichern |
| Änderungen | Per Maus im Editor, Prompts optional | Per Prompt im Code |
| Typischer Einsatz | CRMs, Portale, interne Tools, operative Systeme | Individuelle Produkte, eigene Logik, SaaS |
Für ein internes Werkzeug wie dieses CRM ist eine Plattform mit eingebauter Datenbank, Rechteverwaltung und Hosting oft der schnellere und sicherere Weg. Wenn du ein eigenes Produkt bauen willst, das sich von anderen abhebt und das du verkaufst, kommst du um eigenen Code kaum herum.
Einordnung
In einer einzigen Arbeitssitzung ist ein Lead-CRM entstanden, das ich mir als Agentur tatsächlich vorstellen könnte: Pipeline, Rollen, Kontaktformular, E-Mail-Benachrichtigung, KI-Bewertung und Dashboard. Den größten Unterschied zu Vibe Coding machen nicht die ersten fünf Minuten, sondern alles danach. Rechte, Login, Hosting und Backups sind bereits gelöst, und kleine Änderungen kosten keinen einzigen Prompt.
Die Grenzen liegen dort, wo dein Projekt über ein internes Tool hinauswächst. Sobald du eine eigene Software baust, die du an andere verkaufen willst, brauchst du einen strukturierten Entwicklungsprozess: Anforderungen, Architektur, Umsetzung und Tests in festen Schritten.