From 64898e3d1cf717b5d9cb13ecf6f271933a40f71c7c46530d690b754c485c9f68 Mon Sep 17 00:00:00 2001 From: Thomas Langer Date: Mon, 3 Aug 2026 21:05:24 +0200 Subject: [PATCH] =?UTF-8?q?projekt-anlegen:=20Position=20der=20Ansprechper?= =?UTF-8?q?son=20geh=C3=B6rt=20nach=20title,=20nicht=20nach=20description?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Korrektur der vorherigen Annahme: title ist beim Kontakt notStorable und bildet die Rolle in der Verknüpfung Kontakt <-> Firma ab (AccountContact.role). Es hat keine eigene Zeile im Detail-Layout, wird aber hinter dem Firmennamen angezeigt. description bleibt für Notizen frei. Detail-Layout des Kontakts zur Orientierung dokumentiert. Co-Authored-By: Claude Opus 5 --- .claude/skills/projekt-anlegen/SKILL.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.claude/skills/projekt-anlegen/SKILL.md b/.claude/skills/projekt-anlegen/SKILL.md index 649068a..35eda77 100644 --- a/.claude/skills/projekt-anlegen/SKILL.md +++ b/.claude/skills/projekt-anlegen/SKILL.md @@ -188,16 +188,18 @@ curl -s -G "$BASE/Contact" -H "X-Api-Key: $KEY" \ Bestehenden Kontakt → dessen `id` als CONTACT_ID merken. Sonst neu anlegen — Payload nach `/tmp/contact.json`; die **Verknüpfung zur Firma über `accountId` ist beim Neu-Anlegen zwingend**: ```json -{"firstName": "", "lastName": "", "accountId": "", "emailAddress": "", "phoneNumber": "", "description": ""} +{"firstName": "", "lastName": "", "accountId": "", "emailAddress": "", "phoneNumber": "", "title": ""} ``` **Alle in Schritt 1 gefundenen Kontaktdaten immer mitschreiben** — ein Kontakt ohne E-Mail und Telefon ist für den späteren Bewerbungsversand wertlos: - `emailAddress` — E-Mail-Adresse der Ansprechperson. - `phoneNumber` — Telefonnummer, in der Schreibweise der Signatur. -- `description` — **Position/Jobtitel** der Ansprechperson (z. B. „Principal Candidate Consultant"). Die Position gehört in das Feld **Beschreibung**, **nicht** in das Feld `title`: `title` ist im EspoCRM-Layout des Nutzers nicht eingeblendet und wäre dort unsichtbar. +- `title` — **Position/Jobtitel** der Ansprechperson (z. B. „Principal Candidate Consultant"). `title` ist beim Kontakt kein gewöhnliches Feld, sondern `notStorable` und bildet die **Rolle in der Verknüpfung Kontakt ↔ Firma** ab (`AccountContact.role`). Es hat deshalb keine eigene Zeile im Detail-Layout, wird aber **hinter dem Firmennamen angezeigt**. Das Setzen über `title` funktioniert und setzt `accountsColumns[].role`. Voraussetzung ist, dass `accountId` gesetzt ist. **Die Position nicht zusätzlich nach `description` schreiben** (Nutzer-Entscheidung 2026-08-03: sonst steht sie doppelt; `description` bleibt für echte Notizen frei). Felder, für die es keine Angabe gibt, einfach weglassen. Nichts erfinden. +Das Detail-Layout des Kontakts umfasst: Name und Firmen (mit Rolle), E-Mail und Telefon, Adresse, Beschreibung. Was dort nicht vorkommt, sieht der Nutzer im CRM nicht. + ```bash curl -s -i -X POST "$BASE/Contact" -H "X-Api-Key: $KEY" -H 'Content-Type: application/json' --data @/tmp/contact.json ``` @@ -245,4 +247,4 @@ Nach dem POST den Datensatz gegenlesen: curl -s -G "$BASE/Opportunity/" -H "X-Api-Key: $KEY" ``` -Prüfen: stimmen Name und Projektlink, hat die Beschreibung die Match-Zeile und alle Tabellenzeilen, sind ✅/❌/❔ intakt; sind die Verknüpfungen korrekt — Agentur: `cAccount1Name` gesetzt und `accountName` leer; Direktauftrag: `accountName` gesetzt; `contactsIds`/`contactId` enthält den Kontakt; am Kontakt selbst sind `emailAddress`, `phoneNumber` und `description` (Position) gesetzt, soweit die Ausschreibung sie hergab; `teamsNames` enthält das richtige Team (`DesTEngS` / `Arbeitnehmer` / `ANÜ`). Dann im Chat melden: gewählter Name (inkl. evtl. Duplikat-Suffix), beide Match-Zahlen, Firma und Kontakt (jeweils neu/bestehend), zugewiesenes Team und der Direktlink `https://crm.creature-go.com/#Opportunity/view/`. +Prüfen: stimmen Name und Projektlink, hat die Beschreibung die Match-Zeile und alle Tabellenzeilen, sind ✅/❌/❔ intakt; sind die Verknüpfungen korrekt — Agentur: `cAccount1Name` gesetzt und `accountName` leer; Direktauftrag: `accountName` gesetzt; `contactsIds`/`contactId` enthält den Kontakt; am Kontakt selbst sind `emailAddress`, `phoneNumber` und `title` (Position, erscheint hinter dem Firmennamen) gesetzt, soweit die Ausschreibung sie hergab; `teamsNames` enthält das richtige Team (`DesTEngS` / `Arbeitnehmer` / `ANÜ`). Dann im Chat melden: gewählter Name (inkl. evtl. Duplikat-Suffix), beide Match-Zahlen, Firma und Kontakt (jeweils neu/bestehend), zugewiesenes Team und der Direktlink `https://crm.creature-go.com/#Opportunity/view/`.