{
  "name": "UTPLA - Scenario 4 - Agent prospection hebdomadaire",
  "flow": [
    {
      "id": 1,
      "module": "google-sheets:filterRows",
      "version": 2,
      "parameters": {},
      "mapper": {
        "mode": "map",
        "spreadsheetId": "REMPLACER_PAR_ID_GOOGLE_SHEET",
        "sheetId": "Contacts",
        "tableFirstRow": "A1:Z1",
        "includesHeaders": true,
        "filter": [
          [ { "a": "Statut", "o": "text:equal", "b": "A prospecter" } ]
        ],
        "sortOrder": "asc",
        "limit": 20
      },
      "metadata": {
        "designer": { "x": 0, "y": 0 },
        "restore": {}
      }
    },
    {
      "id": 2,
      "module": "apollo:makeApiCall",
      "version": 1,
      "parameters": {},
      "filter": {
        "name": "Email manquant",
        "conditions": [
          [ { "a": "{{1.`5`}}", "o": "exist:notexist" } ]
        ]
      },
      "mapper": {
        "url": "/v1/people/match",
        "method": "POST",
        "headers": [],
        "qs": [
          { "key": "first_name", "value": "{{1.`1`}}" },
          { "key": "last_name", "value": "{{1.`2`}}" },
          { "key": "organization_name", "value": "{{1.`3`}}" },
          { "key": "reveal_personal_emails", "value": "true" }
        ],
        "body": ""
      },
      "metadata": {
        "designer": { "x": 300, "y": 0 },
        "restore": {}
      }
    },
    {
      "id": 3,
      "module": "anthropic-claude:createAMessage",
      "version": 1,
      "parameters": {},
      "mapper": {
        "model": "claude-sonnet-4-6",
        "max_tokens": 1200,
        "messages": [
          {
            "role": "user",
            "inputType": "single",
            "content": "Tu es l'agent de prospection d'UTPLA, entreprise de biodiversite urbaine. Notre mission phare : 'Sauver les abeilles urbaines' (installation de ruches en entreprise, refuges a pollinisateurs, ateliers de sensibilisation RSE, suivi d'impact biodiversite).\n\nRedige un email de prospection PERSONNALISE et chaleureux, en francais, pour :\nPrenom : {{1.`1`}}\nNom : {{1.`2`}}\nEntreprise : {{1.`3`}}\nPoste : {{1.`4`}}\n\nContraintes de redaction :\n- Objet accrocheur (max 8 mots), sans 'Re:' ni emoji.\n- 120 a 160 mots maximum dans le corps.\n- Accroche personnalisee liee au secteur ou au poste du contact.\n- Mettre en avant un benefice concret RSE / marque employeur / engagement biodiversite.\n- Un seul appel a l'action : proposer un echange de 15 minutes.\n- Ton professionnel mais humain, jamais 'corporate' ni agressif.\n- Signature : 'L'equipe UTPLA - Biodiversite urbaine'.\n\nReponds UNIQUEMENT avec un objet JSON valide (aucun texte avant ni apres) :\n{\n  \"objet\": \"...\",\n  \"corps\": \"...\",\n  \"accroche_utilisee\": \"1 phrase expliquant l'angle de personnalisation choisi\"\n}"
          }
        ]
      },
      "metadata": {
        "designer": { "x": 600, "y": 0 },
        "restore": {}
      }
    },
    {
      "id": 4,
      "module": "json:ParseJSON",
      "version": 1,
      "parameters": { "type": "" },
      "mapper": { "json": "{{3.content[].text}}" },
      "metadata": {
        "designer": { "x": 900, "y": 0 },
        "restore": {}
      }
    },
    {
      "id": 5,
      "module": "google-sheets:updateRow",
      "version": 2,
      "parameters": {},
      "mapper": {
        "mode": "map",
        "spreadsheetId": "REMPLACER_PAR_ID_GOOGLE_SHEET",
        "sheetId": "Contacts",
        "tableFirstRow": "A1:Z1",
        "rowNumber": "{{1.`0`}}",
        "values": {
          "9": "Email genere",
          "12": "{{4.objet}}",
          "13": "{{4.corps}}"
        }
      },
      "metadata": {
        "designer": { "x": 1200, "y": 0 },
        "restore": {}
      }
    },
    {
      "id": 6,
      "module": "google-email:ActionSendEmail",
      "version": 1,
      "parameters": {},
      "mapper": {
        "to": [ "commerciale@utpla.fr" ],
        "subject": "[BROUILLON A VALIDER] {{1.`1`}} {{1.`2`}} ({{1.`3`}}) - {{4.objet}}",
        "html": "<h2>Brouillon d'email de prospection a valider</h2><p><strong>Destinataire prevu :</strong> {{1.`1`}} {{1.`2`}} - {{1.`3`}}</p><p><strong>Angle de personnalisation :</strong> {{4.accroche_utilisee}}</p><hr><p><strong>Objet :</strong> {{4.objet}}</p><div style=\"border:1px solid #ccc;padding:12px;border-radius:8px\">{{4.corps}}</div><hr><p>Valider, ajuster puis envoyer manuellement depuis votre messagerie.</p>"
      },
      "metadata": {
        "designer": { "x": 1500, "y": 0 },
        "restore": {}
      }
    }
  ],
  "metadata": {
    "instant": false,
    "version": 1,
    "scenario": {
      "roundtrips": 1,
      "maxErrors": 3,
      "autoCommit": true,
      "autoCommitTriggerLast": true,
      "sequential": false,
      "confidential": false,
      "dataloss": false,
      "dlq": false,
      "freshVariables": false
    },
    "designer": { "orphans": [] },
    "zone": "eu2.make.com",
    "notes": [
      "PLANIFICATION : apres import, regler le scenario sur 'Every week' lundi a 10:00 (Europe/Paris).",
      "CONNEXIONS A AJOUTER : Google Sheets (modules 1 et 5), Apollo (module 2), Anthropic Claude (module 3), Gmail (module 6).",
      "Le module 1 (Search Rows) doit etre relie a votre feuille 'Contacts' et filtrer Statut = 'A prospecter'. Les references {{1.`1`}} etc. = colonnes par index (verifier/remapper apres liaison du Sheet).",
      "GOOGLE SHEET 'Contacts' colonnes A:Numero/ID B:Prenom C:Nom D:Entreprise E:Poste F:Email ... J:Statut M:Objet_email N:Corps_email. Adapter les index si l'ordre des colonnes differe.",
      "Le module 6 envoie un BROUILLON a la commerciale pour validation humaine (pas d'envoi direct au prospect)."
    ]
  }
}
