Workflow n8n

Automatisation Email avec n8n : recommandations de livres hebdomadaires

Ce workflow n8n permet d'automatiser l'envoi d'emails contenant des recommandations de livres chaque semaine. Idéal pour les bibliothèques, les librairies ou toute entreprise souhaitant engager ses clients autour de la lecture, ce processus commence par un déclencheur programmé qui s'active chaque vendredi à 11h00. Le workflow vérifie d'abord le nombre de livres disponibles via une requête HTTP, puis, selon le résultat, il sélectionne un livre aléatoire pour la recommandation. Si aucun livre n'est disponible, un email est envoyé pour informer l'utilisateur. Dans le cas contraire, des informations détaillées sur le livre sélectionné sont récupérées et formatées pour l'email. Les noeuds clés incluent des requêtes HTTP pour obtenir les données des livres, des fonctions pour traiter ces données, et des noeuds d'envoi d'emails pour communiquer avec les utilisateurs. Grâce à cette automatisation n8n, les entreprises peuvent améliorer leur communication avec les clients, réduire le temps passé à gérer manuellement les recommandations et offrir une expérience enrichissante autour de la lecture.

Tags clés :automatisationemail marketingrecommandationsn8nlivres
Catégorie: Scheduled · Tags: automatisation, email marketing, recommandations, n8n, livres0

Workflow n8n email marketing, recommandations, livres : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n email marketing, recommandations, livres : détail des nœuds

  • On clicking 'execute'

    Déclenche le workflow manuellement lorsque l'utilisateur clique sur 'exécuter'.

  • Every Friday at 11:00 AM

    Déclenche le workflow automatiquement tous les vendredis à 11h00.

  • Set Subject

    Définit le sujet d'un message à envoyer dans le workflow.

  • Retrieve Book Count

    Effectue une requête HTTP pour récupérer le nombre de livres à partir d'une URL spécifiée.

  • Check Book Count

    Vérifie si le nombre de livres récupéré répond à certaines conditions.

  • Select Random Book

    Sélectionne aléatoirement un livre à partir d'une liste donnée.

  • Retrieve Detailed Book Info

    Effectue une requête HTTP pour récupérer des informations détaillées sur un livre.

  • Retrieve Basic Book Info

    Effectue une requête HTTP pour récupérer des informations de base sur un livre.

  • Book Recommendation

    Prépare une recommandation de livre en définissant les valeurs nécessaires.

  • Filtered Book Info

    Filtre et définit les informations sur le livre à envoyer.

  • Create Author String

    Crée une chaîne de caractères pour représenter un auteur à partir de données fournies.

  • Send No Book Email

    Envoie un email informant qu'aucun livre n'est disponible.

  • Send Book Email

    Envoie un email contenant des informations sur un livre.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "12",
  "name": "Find a New Book",
  "nodes": [
    {
      "name": "On clicking 'execute'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        40,
        140
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Every Friday at 11:00 AM",
      "type": "n8n-nodes-base.cron",
      "position": [
        20,
        330
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "hour": 11,
              "mode": "everyWeek",
              "weekday": "5"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Set Subject",
      "type": "n8n-nodes-base.set",
      "position": [
        220,
        330
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "subject",
              "value": "juvenile_literature"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Retrieve Book Count",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        420,
        330
      ],
      "parameters": {
        "url": "=http://openlibrary.org/subjects/{{$json[\"subject\"]}}.json",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "limit",
              "value": "0"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Check Book Count",
      "type": "n8n-nodes-base.if",
      "position": [
        620,
        330
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{$node[\"Retrieve Book Count\"].json[\"work_count\"]}}",
              "operation": "larger"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Select Random Book",
      "type": "n8n-nodes-base.function",
      "position": [
        820,
        330
      ],
      "parameters": {
        "functionCode": "var retrieve_book = 0;\nvar book_count = items[0].json.work_count;\n\nretrieve_book = Math.floor(Math.random() * book_count) + 1\n\nitems[0].json.retrieve_book = retrieve_book;\nreturn items;"
      },
      "typeVersion": 1
    },
    {
      "name": "Retrieve Detailed Book Info",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1260,
        330
      ],
      "parameters": {
        "url": "=http://openlibrary.org.{{$node[\"Retrieve Basic Book Info\"].json[\"works\"][0][\"key\"]}}.json",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "limit",
              "value": "1"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Retrieve Basic Book Info",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1040,
        330
      ],
      "parameters": {
        "url": "=http://openlibrary.org/subjects/{{$json[\"name\"]}}.json",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "limit",
              "value": "1"
            },
            {
              "name": "offset",
              "value": "={{$json[\"retrieve_book\"]}}"
            },
            {
              "name": "detail",
              "value": "true"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Book Recommendation",
      "type": "n8n-nodes-base.set",
      "position": [
        1830,
        330
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "msgSubject",
              "value": "=Book Recommendation: {{$node[\"Create Author String\"].json[\"title\"]}}"
            },
            {
              "name": "msgBody",
              "value": "=<H2><a href=\"{{$node[\"Create Author String\"].json[\"URL\"]}}\">{{$node[\"Create Author String\"].json[\"title\"]}}</a></H2>\n<p><em>By {{$node[\"Create Author String\"].json[\"authors\"]}}</em><br>\n{{$node[\"Create Author String\"].json[\"description\"]}}</p>"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Filtered Book Info",
      "type": "n8n-nodes-base.set",
      "position": [
        1460,
        330
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "authors",
              "value": "={{$node[\"Retrieve Basic Book Info\"].json[\"works\"][0][\"authors\"]}}"
            },
            {
              "name": "title",
              "value": "={{$node[\"Retrieve Basic Book Info\"].json[\"works\"][0][\"title\"]}}"
            },
            {
              "name": "description",
              "value": "={{$node[\"Retrieve Detailed Book Info\"].json[\"description\"][\"value\"]}}"
            },
            {
              "name": "URL",
              "value": "=https://openlibrary.org{{$node[\"Retrieve Basic Book Info\"].json[\"works\"][0][\"key\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Create Author String",
      "type": "n8n-nodes-base.function",
      "position": [
        1630,
        330
      ],
      "parameters": {
        "functionCode": "var arrAuthors = items[0].json.authors;\n\nvar arrNames = arrAuthors.map(function(author) {\n  return \"<a href=\\\"https://openlibrary.org\" + author['key'] + \"\\\">\" + author['name'] + \"</a>\";\n});\n\nvar names = arrNames.join(\", \");\n\nitems[0].json.authors = names;\n\nreturn items;"
      },
      "typeVersion": 1
    },
    {
      "name": "Send No Book Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        830,
        520
      ],
      "parameters": {
        "html": "=<p>Unfortunately, there are no books available for the subject of <em>{{$node[\"Check Book Count\"].json[\"name\"]}}</em>. Please update your n8n workflow with a different subject.</p>\n\n<p>A list of all available subjects can be found at <a href=\"https://openlibrary.org/subjects\">the Open Library</a>.</p>",
        "options": {},
        "subject": "=Book not found in {{$node[\"Check Book Count\"].json[\"name\"]}}",
        "toEmail": "john.doe@example.com",
        "fromEmail": "john.doe@example.com"
      },
      "credentials": {
        "smtp": "Gmail Creds"
      },
      "typeVersion": 1
    },
    {
      "name": "Send Book Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        2030,
        330
      ],
      "parameters": {
        "html": "={{$node[\"Book Recommendation\"].json[\"msgBody\"]}}",
        "options": {},
        "subject": "={{$node[\"Book Recommendation\"].json[\"msgSubject\"]}}",
        "toEmail": "john.doe@example.com",
        "fromEmail": "john.doe@example.com"
      },
      "credentials": {
        "smtp": "Gmail Creds"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {},
  "connections": {
    "Set Subject": {
      "main": [
        [
          {
            "node": "Retrieve Book Count",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Book Count": {
      "main": [
        [
          {
            "node": "Select Random Book",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send No Book Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filtered Book Info": {
      "main": [
        [
          {
            "node": "Create Author String",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Select Random Book": {
      "main": [
        [
          {
            "node": "Retrieve Basic Book Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Book Recommendation": {
      "main": [
        [
          {
            "node": "Send Book Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Book Count": {
      "main": [
        [
          {
            "node": "Check Book Count",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Author String": {
      "main": [
        [
          {
            "node": "Book Recommendation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On clicking 'execute'": {
      "main": [
        [
          {
            "node": "Set Subject",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Every Friday at 11:00 AM": {
      "main": [
        [
          {
            "node": "Set Subject",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Basic Book Info": {
      "main": [
        [
          {
            "node": "Retrieve Detailed Book Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Detailed Book Info": {
      "main": [
        [
          {
            "node": "Filtered Book Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n email marketing, recommandations, livres : pour qui est ce workflow ?

Ce workflow s'adresse aux librairies, bibliothèques et entreprises souhaitant automatiser leur communication autour des livres. Il est conçu pour des équipes ayant une connaissance de base des outils d'automatisation et souhaitant optimiser leur engagement client.

Workflow n8n email marketing, recommandations, livres : problème résolu

Ce workflow résout le problème de la gestion manuelle des recommandations de livres, souvent chronophage et sujette à des erreurs. En automatisant ce processus, les utilisateurs peuvent s'assurer que leurs clients reçoivent des suggestions pertinentes chaque semaine, ce qui augmente l'engagement et la satisfaction client. De plus, cela réduit le risque de ne pas communiquer avec les clients en raison d'un manque de temps ou de ressources.

Workflow n8n email marketing, recommandations, livres : étapes du workflow

Étape 1 : Le workflow est déclenché chaque vendredi à 11h00.

  • Étape 1 : Une requête HTTP est effectuée pour récupérer le nombre de livres disponibles.
  • Étape 2 : Une condition vérifie si des livres sont disponibles.
  • Étape 3 : Si des livres sont disponibles, un livre est sélectionné aléatoirement.
  • Étape 4 : Des informations détaillées sur le livre sélectionné sont récupérées.
  • Étape 5 : Les informations sont formatées pour l'email de recommandation.
  • Étape 6 : Un email est envoyé avec les détails du livre.
  • Étape 7 : Si aucun livre n'est disponible, un email informant l'utilisateur est envoyé.

Workflow n8n email marketing, recommandations, livres : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL de la requête HTTP pour qu'elle pointe vers votre base de données de livres. Vous pouvez également adapter le contenu des emails en modifiant les noeuds d'envoi d'emails, notamment les champs 'subject' et 'html'. Si vous souhaitez ajouter d'autres critères de sélection pour les livres, vous pouvez ajuster le code de la fonction 'Select Random Book'. Enfin, assurez-vous que les adresses email dans les noeuds d'envoi sont configurées correctement pour éviter des problèmes de livraison.