Skip to content

Häufige Stolpersteine

The high-frequency gotchas, consolidated. Each is documented in detail in the appropriate group’s article; this page is the quick index.

If something you set up isn’t behaving as expected, this is the first page to consult before diving into deeper debugging.

Phone number without "+CC"

Email templates use <a href="tel:..."> and the tel: URI rejects whitespace. Always store as +49<digits>, no spaces.

Phone & website formatting →

Website without "https://"

Templates render links as <a href="{{website}}">. A missing scheme breaks the link silently.

Phone & website formatting →

Standorte not linked to pools/calendars

Without the linkage, $studio.* variables in automations resolve to empty. Set the links in Settings → Standorte.

Standorte →

Pool view cached for 5 min after bootstrap

After the Ingress bootstrap POST, reload the page to see new columns immediately.

Ingress webhook bootstrap →

"Für Interessenten buchbar" not ticked

The single most common form-empty cause. Every resource slot defaults to internal-only. Tick it on each slot before expecting public forms to show times.

Für Interessenten buchbar →

Recurring slot disappears after day-of-week edit

If you change a recurring slot’s pattern to exclude the slot’s first-occurrence weekday, the whole slot disappears. iCalendar RRULE behavior — same as Google Calendar.

Recurring schedule →

Variable-length courses confuse the search engine

Don’t map two appointment types of different durations to the same resource. Duplicate the resource + appointment-type pair per duration variant instead.

Variable-length courses →

Calendar created before the global-resource migration

Legacy calendars need a one-time migration before they accept global resources/appointment-types. Migration button in the calendar settings.

Operator notes (gated) →

Typo in `{{...}}` variable path renders blank

No validation today. Hover the variable chip to verify the path resolves; send a real test trigger to confirm.

Variable placeholders →

Set-state node targets a pool that lacks the state

Lead states are org-global now — one Set-state node works across pools. But if the state isn’t assigned to a lead’s pool, that lead renders uncategorized on the pool board. Assign the state to every pool the flow touches.

Lead states across locations →

Custom Field path uses UUID, not name

customFieldData.<uuid> — always insert via the variable picker. Don’t type the UUID by hand.

Custom Field variables →

Customer-source picker missing on a trigger

Variable picker shows generic paths instead of named fields. Pick the Lead Pool the trigger’s leads come from.

Customer-source picker →

Edits to a flow don't affect queued runs

Each run snapshots the flow definition + lead/appointment data at trigger time. Late edits apply to future triggers only.

Snapshot semantics →

Same-domain From + To silently drops

SendGrid drops mail where the From address equals the To address. Internal-recipient mail must be sent from noreply@<domain>.

No-reply sender rule →

SPF record exists — don't create a second one

Only one SPF record per domain. Merge include:sendgrid.net into the existing one; never add a parallel record.

SPF record patterns →

API key with too-broad scopes

Pick Restricted Access, then Mail Send (Full) + Sender Authentication (Read). Anything more is unnecessary blast radius.

API key + scopes →

Cloudflare Turnstile breaks forms on iOS

Hangs the form on iOS Safari. Disable Turnstile or switch CAPTCHA providers until the fix lands.

Turnstile iOS bug →

Form configured but no times shown

Same gotcha as Für Interessenten buchbar — framed from the form-builder side. Always check the resource slots first.

Form-slot buchbar gotcha →

"Deleted" leads are recoverable

Soft-delete by default; operator can restore. There’s no hard-delete in the public UI. Don’t panic if a customer says “all our leads are gone”.

Soft-delete and restore →

Run status shows Completed when only some steps failed

Today, a run shows Completed if its last step succeeded. To find partial failures, check the per-step failure metrics in the ops dashboard.

Runs vs. Steps →

Each card links to the full article. If you’ve hit a gotcha that isn’t on this page, add it — operator memory beats operator instinct, but only when it’s written down.