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

Agent Studio - Weekly Analytics Report. Uses httpRequest, emailSend. Scheduled trigger; 8 nodes.

HTTP Request, Email Send
AI & RAG

🔍 How It Works This AI Agent checks your invoice database (Google Sheets) daily and looks for unpaid invoices that are past their due date. It calculates how many days each invoice is overdue (Days Pa

Google Sheets, Email Send