SThree (Agentur, ANÜ, Hybrid-Schrobenhausen): Betreff und Anhänge nachgezogen, Skill projekt-anlegen um Kontaktdaten erweitert

- bewerbung.md: Betreff des Nutzers übernommen, Arbeitgeberzeugnisse als dritter Anhang
  im Header und im Anhänge-Satz ergänzt, Lebenslauf als .docx
- projekt-anlegen: Kontaktdaten der Ansprechperson (E-Mail, Telefon, Position) werden in
  Schritt 1 extrahiert, im Review gezeigt und in Schritt 7.2 am Kontakt gespeichert; die
  Position gehört in das Feld Beschreibung, da title im CRM-Layout nicht eingeblendet ist.
  Bestehende Kontakte werden per PUT um fehlende Felder ergänzt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-03 20:57:04 +02:00
parent 6611ad554c
commit b73fa57715
2 changed files with 26 additions and 7 deletions

View File

@@ -50,7 +50,11 @@ Daraus entnehmen:
- Agentur-Signale: bekannte Personaldienstleister/Vermittler (Hays, GULP/Randstad, SThree/Computer Futures, Aristo …), Formulierungen wie „im Auftrag unseres Kunden", „für unseren Kunden", Vermittler-Kontext des Portals. - Agentur-Signale: bekannte Personaldienstleister/Vermittler (Hays, GULP/Randstad, SThree/Computer Futures, Aristo …), Formulierungen wie „im Auftrag unseres Kunden", „für unseren Kunden", Vermittler-Kontext des Portals.
- Nicht eindeutig bestimmbar → im Review nachfragen. - Nicht eindeutig bestimmbar → im Review nachfragen.
- **Firmenname**: Name der Agentur bzw. des Endkunden. - **Firmenname**: Name der Agentur bzw. des Endkunden.
- **Ansprechperson**: vollständiger Name, falls genannt. - **Ansprechperson**: vollständiger Name, falls genannt, **plus alle weiteren Kontaktdaten**, die in der
Ausschreibung oder in der E-Mail-Signatur stehen: **E-Mail-Adresse**, **Telefonnummer** und **Position/Jobtitel**
(z. B. „Principal Candidate Consultant"). Diese Angaben werden in Schritt 7.2 am Kontakt gespeichert. Kommt die
Ausschreibung als E-Mail, ist die Signatur die beste Quelle; dort stehen Position, Telefon und Adresse meist
vollständig.
## Schritt 2: Einordnung (Kat.) ## Schritt 2: Einordnung (Kat.)
@@ -116,7 +120,9 @@ Niemals ohne explizite Freigabe ins CRM schreiben. Im Chat zeigen:
2. **Angebotstyp** (Projekt / Arbeitnehmer-Angebot / ANÜ) und resultierendes **Team** (`DesTEngS` / `Arbeitnehmer` / `ANÜ`) mit Kurzbegründung. 2. **Angebotstyp** (Projekt / Arbeitnehmer-Angebot / ANÜ) und resultierendes **Team** (`DesTEngS` / `Arbeitnehmer` / `ANÜ`) mit Kurzbegründung.
3. **Käufer-Typ** (Agentur/Direktauftrag) mit Kurzbegründung — nur bei Angebotstyp „Projekt". 3. **Käufer-Typ** (Agentur/Direktauftrag) mit Kurzbegründung — nur bei Angebotstyp „Projekt".
4. **Firma:** Name und `type` (Reseller bei Agentur, Customer bei Direktauftrag); „neu anlegen" oder „bestehende nutzen: <Name/ID>". Bei ähnlichen, nicht identischen Treffern die Kandidatenliste zeigen und entscheiden lassen. 4. **Firma:** Name und `type` (Reseller bei Agentur, Customer bei Direktauftrag); „neu anlegen" oder „bestehende nutzen: <Name/ID>". Bei ähnlichen, nicht identischen Treffern die Kandidatenliste zeigen und entscheiden lassen.
5. **Kontakt:** Name; „neu anlegen" oder „bestehend nutzen: <Name/ID>". 5. **Kontakt:** Name; „neu anlegen" oder „bestehend nutzen: <Name/ID>". Dazu die gefundenen Kontaktdaten
(E-Mail, Telefon, Position) auflisten, damit der Nutzer sie prüfen kann. Bei einem **bestehenden** Kontakt
angeben, welche dieser Felder noch leer sind und ergänzt werden.
6. **Verknüpfungs-Zuordnung** der Verkaufschance (account vs. cAccount1, Kontakt, Team). 6. **Verknüpfungs-Zuordnung** der Verkaufschance (account vs. cAccount1, Kontakt, Team).
7. Den wörtlichen Beschreibungs-Markdown in einem Codeblock. 7. Den wörtlichen Beschreibungs-Markdown in einem Codeblock.
8. Kurze Begründungen zu allen ❌- und ❔-Bewertungen (Must/Nice/Misc) außerhalb der Tabelle. 8. Kurze Begründungen zu allen ❌- und ❔-Bewertungen (Must/Nice/Misc) außerhalb der Tabelle.
@@ -182,15 +188,28 @@ 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**: 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 ```json
{"firstName": "<VORNAME>", "lastName": "<NACHNAME>", "accountId": "<ACCOUNT_ID>"} {"firstName": "<VORNAME>", "lastName": "<NACHNAME>", "accountId": "<ACCOUNT_ID>", "emailAddress": "<E-MAIL>", "phoneNumber": "<TELEFON>", "description": "<POSITION>"}
``` ```
**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.
Felder, für die es keine Angabe gibt, einfach weglassen. Nichts erfinden.
```bash ```bash
curl -s -i -X POST "$BASE/Contact" -H "X-Api-Key: $KEY" -H 'Content-Type: application/json' --data @/tmp/contact.json curl -s -i -X POST "$BASE/Contact" -H "X-Api-Key: $KEY" -H 'Content-Type: application/json' --data @/tmp/contact.json
``` ```
`id` aus der Antwort als CONTACT_ID merken. Namensaufteilung: letztes Token = `lastName`, der Rest = `firstName`; ungewöhnliche Fälle im Review klären. `id` aus der Antwort als CONTACT_ID merken. Namensaufteilung: letztes Token = `lastName`, der Rest = `firstName`; ungewöhnliche Fälle im Review klären.
**Bestehender Kontakt mit Lücken:** Fehlen bei einem bereits vorhandenen Kontakt E-Mail, Telefon oder Position, diese Felder per `PUT` nachtragen (nur die leeren Felder, vorhandene Werte nie überschreiben):
```bash
curl -s -X PUT "$BASE/Contact/<CONTACT_ID>" -H "X-Api-Key: $KEY" -H 'Content-Type: application/json' --data @/tmp/contact.json
```
### 7.3 Verkaufschance (Opportunity) ### 7.3 Verkaufschance (Opportunity)
Duplikat-Prüfung des Namens (bei Treffer Suffix „ (2)", „ (3)", … anhängen): Duplikat-Prüfung des Namens (bei Treffer Suffix „ (2)", „ (3)", … anhängen):
@@ -226,4 +245,4 @@ Nach dem POST den Datensatz gegenlesen:
curl -s -G "$BASE/Opportunity/<id>" -H "X-Api-Key: $KEY" curl -s -G "$BASE/Opportunity/<id>" -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; `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/<id>`. 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/<id>`.

View File

@@ -1,6 +1,6 @@
An: Frau Simone Schenk (SThree) per E-Mail an s.schenk@sthree.com An: Frau Simone Schenk (SThree) per E-Mail an s.schenk@sthree.com
Betreff: Development Engineer (w/m/d) System Support & Maintenance, Schrobenhausen ab September Betreff: Bewerbung als Development Engineer System Support & Maintenance
Anhänge: Lebenslauf_Dr-Ing_Thomas_Langer.doc, TÜV-Zertifikat_AI-Consultant_Thomas-Langer.pdf Anhänge: Lebenslauf_Dr-Ing_Thomas_Langer.docx, TÜV-Zertifikat_AI-Consultant_Thomas-Langer.pdf, Thomas_Langer_ArbeitgeberZeugnisse.pdf
Sehr geehrte Frau Schenk, Sehr geehrte Frau Schenk,
@@ -18,7 +18,7 @@ Messtechnik und Fehlersuche mit Oszilloskop, Signalgenerator und Multimeter sind
Bei Bedarf kann ich zusätzlich meine Kompetenz als TÜV-zertifizierter AI Consultant einsetzen, etwa um Analysen, Auswertungen und die technische Dokumentation mit generativer KI zu beschleunigen. Bei Bedarf kann ich zusätzlich meine Kompetenz als TÜV-zertifizierter AI Consultant einsetzen, etwa um Analysen, Auswertungen und die technische Dokumentation mit generativer KI zu beschleunigen.
Gern sende ich Ihnen anbei meinen aktuellen Lebenslauf sowie mein TÜV-Zertifikat als AI Consultant. Über Ihr Interesse freue ich mich sehr, für Rückfragen und ein Gespräch stehe ich Ihnen jederzeit zur Verfügung. Gern sende ich Ihnen anbei meinen aktuellen Lebenslauf, meine Arbeitgeberzeugnisse sowie mein TÜV-Zertifikat als AI Consultant. Über Ihr Interesse freue ich mich sehr, für Rückfragen und ein Gespräch stehe ich Ihnen jederzeit zur Verfügung.
Mit besten Grüßen Mit besten Grüßen