AutomationFlowsAI & RAG › Agent Alternance - Email Outlook

Agent Alternance - Email Outlook

Agent Alternance - Email Outlook. Uses emailSend. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexity5 nodesEmail Send
AI & RAG Trigger: Cron / scheduled Nodes: 5 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Agent Alternance - Email Outlook",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "cronExpression": "*/15 * * * *"
            }
          ]
        }
      },
      "id": "cron-trigger-outlook",
      "name": "D\u00e9clencheur Test (15min)",
      "type": "n8n-nodes-base.cron",
      "typeVersion": 1,
      "position": [
        240,
        240
      ]
    },
    {
      "parameters": {
        "functionCode": "// G\u00e9n\u00e9rateur de donn\u00e9es test\nconst offers = [\n  {\n    title: \"Alternance Cybers\u00e9curit\u00e9 - SOC Analyst\",\n    company: \"CyberTech Solutions\",\n    location: \"Paris (75)\",\n    duration: \"24 mois\",\n    start_date: \"septembre 2025\",\n    description: \"Poste d'alternant SOC analyst. Formation Master cybers\u00e9curit\u00e9. Missions: surveillance, incidents, rapports.\",\n    url: \"https://pole-emploi.fr/offre/123456\",\n    scraper_source: \"pole_emploi\",\n    ai_response: \"VALIDE\",\n    is_valid: true,\n    status: \"\u2705 VALID\u00c9E\",\n    processed_at: new Date().toISOString()\n  },\n  {\n    title: \"Alternance DevSecOps Junior\",\n    company: \"SecureIT Corp\",\n    location: \"Lyon (69)\",\n    duration: \"18 mois\",\n    start_date: \"octobre 2025\",\n    description: \"Alternance DevSecOps. Automatisation s\u00e9curit\u00e9, CI/CD s\u00e9curis\u00e9, infrastructure.\",\n    url: \"https://apec.fr/offre/789012\",\n    scraper_source: \"apec\",\n    ai_response: \"VALIDE\",\n    is_valid: true,\n    status: \"\u2705 VALID\u00c9E\",\n    processed_at: new Date().toISOString()\n  }\n];\n\nconsole.log(`\ud83d\udccb G\u00e9n\u00e9ration de ${offers.length} offres pour test email`);\n\nreturn offers.map(offer => ({ json: offer }));"
      },
      "id": "data-simple",
      "name": "Donn\u00e9es Test",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        460,
        240
      ]
    },
    {
      "parameters": {
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "offres_validees",
        "options": {}
      },
      "id": "aggregate-simple",
      "name": "Agr\u00e9ger",
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        680,
        240
      ]
    },
    {
      "parameters": {
        "functionCode": "// Rapport simple pour email\nconst offers = $json.offres_validees || [];\nconst timestamp = new Date().toLocaleDateString('fr-FR');\n\nconst emailContent = `Bonjour,\n\nRapport alternance cybers\u00e9curit\u00e9 du ${timestamp}\n\n\u2705 ${offers.length} offres valid\u00e9es:\n\n${offers.map((offer, i) => `${i+1}. ${offer.title}\n   \ud83c\udfe2 ${offer.company}\n   \ud83d\udccd ${offer.location}\n   \ud83d\udd17 ${offer.url}\n   \u23f1\ufe0f ${offer.duration}\n`).join('\\n')}\n\nCordialement,\nAgent IA Alternance`;\n\nconst result = {\n  email_subject: `\ud83c\udfaf ${offers.length} Offres Alternance - ${timestamp}`,\n  email_text: emailContent,\n  total_offres: offers.length\n};\n\nconsole.log('\ud83d\udce7 Email pr\u00e9par\u00e9:', result.email_subject);\n\nreturn [{ json: result }];"
      },
      "id": "prepare-email",
      "name": "Pr\u00e9parer Email",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        900,
        240
      ]
    },
    {
      "parameters": {
        "fromEmail": "test@outlook.com",
        "toEmail": "bigmoletos@yopmail.com",
        "subject": "={{ $json.email_subject }}",
        "text": "={{ $json.email_text }}",
        "options": {}
      },
      "id": "send-email-outlook",
      "name": "Envoyer Email (Outlook)",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 2,
      "position": [
        1120,
        240
      ],
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "D\u00e9clencheur Test (15min)": {
      "main": [
        [
          {
            "node": "Donn\u00e9es Test",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Donn\u00e9es Test": {
      "main": [
        [
          {
            "node": "Agr\u00e9ger",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agr\u00e9ger": {
      "main": [
        [
          {
            "node": "Pr\u00e9parer Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pr\u00e9parer Email": {
      "main": [
        [
          {
            "node": "Envoyer Email (Outlook)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [
    {
      "id": "outlook-email",
      "name": "Outlook Email"
    }
  ],
  "triggerCount": 1
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Agent Alternance - Email Outlook. Uses emailSend. Scheduled trigger; 5 nodes.

Source: https://github.com/bigmoletos/recherche_offre_emploi/blob/b4c4d2d0b97c534167365e440130f27c98586c1c/agent_n8n/workflows/old/workflow_n8n_email_outlook.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Monitors brand mentions across Twitter/X, Reddit, and News APIs in real-time (or scheduled), fetches mentions in parallel, normalizes data, uses AI to analyze sentiment/urgency/topics, detects duplica

HTTP Request, Email Send
AI & RAG

Tech Daily Digest. Uses rssFeedRead, emailSend, httpRequest. Scheduled trigger; 22 nodes.

RSS Feed Read, Email Send, HTTP Request
AI & RAG

Daily AI Research Agent. Uses httpRequest, telegram, emailSend. Scheduled trigger; 11 nodes.

HTTP Request, Telegram, Email Send
AI & RAG

WF-005 Overage Warning. Uses httpRequest, emailSend, supabase. Scheduled trigger; 11 nodes.

HTTP Request, Email Send, Supabase
AI & RAG

WF-008 Monthly Report. Uses supabase, httpRequest, emailSend. Scheduled trigger; 11 nodes.

Supabase, HTTP Request, Email Send