Zum Hauptinhalt springen
Twenty unterstützt derzeit noch keine nativen Formelfelder (kommt 2026), aber Sie können dasselbe Ergebnis mithilfe von Workflows erreichen. Mit diesem Workaround können Sie Feldwerte automatisch berechnen und ausfüllen – von einfachen Verkettungen bis hin zu komplexer Geschäftslogik.

Häufige Anwendungsfälle

AnwendungsfallFormelbeispiel
Vollständiger NameVorname + ” ” + Nachname
Erwarteter BetragBetrag × Wahrscheinlichkeit
Tage bis zur FälligkeitFälligkeitsdatum - Heute
Tage in der PhaseHeute - Phaseneintrittsdatum
Lead-ScorePunkte basierend auf mehreren Kriterien
Ein vollständiges Beispiel für das Nachverfolgen der Zeit in Pipeline-Phasen finden Sie unter Verfolgen, wie lange Chancen in jeder Phase bleiben.

Einfache Formel: Verkettung

Beispiel: Vollständigen Namen automatisch ausfüllen

Ziel: Vor- und Nachname automatisch zu einem Feld für den vollständigen Namen kombinieren.

Einrichtung

  1. Auslöser: Datensatz wird aktualisiert oder erstellt (Personen)
  2. Filter: Prüfen, ob sich Vorname oder Nachname geändert hat
  3. Code-Aktion:
export const main = async (params) => {
  const { firstName, lastName } = params;

  const fullName = [firstName, lastName]
    .filter(Boolean)
    .join(' ');

  return { fullName };
};
  1. Datensatz aktualisieren: Vollständigen Namen auf {{code.fullName}} setzen

Numerische Formel: Erwarteter Betrag

Beispiel: Erwarteten Umsatz berechnen

Ziel: Den Chancenbetrag mit der Wahrscheinlichkeit multiplizieren, um den erwarteten Betrag zu erhalten. Den vollständigen Workflow finden Sie unter Erwarteten Betrag in der Pipeline anzeigen.

Schnelleinrichtung

  1. Auslöser: Datensatz wird aktualisiert (Chancen, Feld Betrag ODER Wahrscheinlichkeit)
  2. Code-Aktion:
export const main = async (params) => {
  const { amount, probability } = params;

  const expectedAmount = (amount || 0) * (probability || 0) / 100;

  return { expectedAmount };
};
  1. Datensatz aktualisieren: Erwarteten Betrag auf {{code.expectedAmount}} setzen

Datumsformel: Tagesberechnung

Beispiel: Tage bis zur Fälligkeit einer Aufgabe

Ziel: Berechnen, wie viele Tage bis zum Fälligkeitsdatum einer Aufgabe verbleiben.

Einrichtung

  1. Auslöser: Datensatz wird aktualisiert oder erstellt (Aufgaben, Feld Fälligkeitsdatum)
  2. Code-Aktion:
export const main = async (params) => {
  const { dueDate } = params;

  if (!dueDate) {
    return { daysUntilDue: null };
  }

  const due = new Date(dueDate);
  const today = new Date();
  const diffTime = due - today;
  const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));

  return { daysUntilDue: diffDays };
};
  1. Datensatz aktualisieren: Tage bis zur Fälligkeit auf {{code.daysUntilDue}} setzen
Negative Werte weisen auf überfällige Aufgaben hin. Sie können dieses Feld verwenden, um Aufgaben nach Dringlichkeit zu filtern oder zu sortieren.

Bedingte Formel: Lead-Score

Beispiel: Lead-Score anhand von Kriterien berechnen

Ziel: Leads anhand von Unternehmensgröße, Branche und Engagement bewerten.

Einrichtung

  1. Auslöser: Datensatz wird aktualisiert (Personen oder Unternehmen)
  2. Code-Aktion:
export const main = async (params) => {
  const { companySize, industry, hasEmail, hasPhone, source } = params;

  let score = 0;

  // Company size scoring
  if (companySize === 'Enterprise') score += 30;
  else if (companySize === 'Mid-Market') score += 20;
  else if (companySize === 'SMB') score += 10;

  // Industry scoring
  const targetIndustries = ['Technology', 'Finance', 'Healthcare'];
  if (targetIndustries.includes(industry)) score += 25;

  // Contact info scoring
  if (hasEmail) score += 10;
  if (hasPhone) score += 15;

  // Source scoring
  if (source === 'Referral') score += 20;
  else if (source === 'Website') score += 10;

  return { leadScore: score };
};
  1. Datensatz aktualisieren: Lead-Score auf {{code.leadScore}} setzen

Textformel: Domain-Extraktion

Beispiel: Domain aus E-Mail extrahieren

Ziel: Die E-Mail-Domain automatisch extrahieren und speichern.

Einrichtung

  1. Auslöser: Datensatz wird aktualisiert (Personen, E-Mail-Feld)
  2. Code-Aktion:
export const main = async (params) => {
  const { email } = params;

  if (!email) return { domain: null };

  const domain = email.split('@')[1]?.toLowerCase();

  return { domain };
};
  1. Datensatz aktualisieren: Feld Domain auf {{code.domain}} setzen

Beste Praktiken

Leistung

  • Nur bei relevanten Feldänderungen auslösen
  • Filter verwenden, um Datensätze ohne Berechnungsbedarf zu überspringen
  • Komplexe Berechnungen in Workflows mit hohem Volumen vermeiden

Fehlerbehandlung

  • Vor Berechnungen auf null/undefined-Werte prüfen
  • Standardwerte verwenden, wenn Daten fehlen
  • Klare Fehlermeldungen zurückgeben, wenn Berechnungen fehlschlagen

Tests

  • Mit Randfällen testen (leere Felder, Nullwerte)
  • Berechnungen vor der Aktivierung manuell überprüfen
  • Workflow-Ausführungen auf unerwartete Ergebnisse überwachen

Verwandt