Automatisation Stripe avec n8n : notifications et mises à jour HubSpot
Ce workflow n8n a pour objectif d'automatiser le processus de notification et de mise à jour des paiements de factures Stripe dans HubSpot et Slack. En intégrant ces outils, les équipes peuvent rapidement réagir aux paiements, ce qui est essentiel pour la gestion des relations clients et le suivi des ventes. Par exemple, lorsqu'une facture est payée, le workflow déclenche une série d'actions pour mettre à jour le statut de l'affaire dans HubSpot et informer l'équipe via Slack. Étape 1 : Le déclencheur 'When Invoice Paid' s'active dès qu'un paiement de facture est enregistré dans Stripe. Étape 2 : Le workflow recherche d'abord l'affaire correspondante dans HubSpot en utilisant le numéro de commande. Si l'affaire est trouvée, elle est mise à jour avec le statut 'Paid'. Étape 3 : Si aucun numéro de commande n'est fourni, un message est envoyé sur Slack pour informer l'équipe. Étape 4 : Si aucune affaire n'est trouvée pour le numéro de commande, un autre message est envoyé sur Slack pour notifier de cette situation. Les bénéfices de ce workflow incluent une réduction significative des délais de communication et une meilleure gestion des informations financières, permettant ainsi aux équipes de se concentrer sur des tâches à plus forte valeur ajoutée. Tags clés : automatisation, Stripe, HubSpot.
Vue d'ensemble du workflow n8n
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Détail des nœuds du workflow n8n
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": 100,
"name": "On new Stripe Invoice Payment update Hubspot and notify the team in Slack",
"nodes": [
{
"name": "When Invoice Paid",
"type": "n8n-nodes-base.stripeTrigger",
"position": [
400,
460
],
"webhookId": "47727266-5233-48e5-b7f7-e47252840a4e",
"parameters": {
"events": [
"invoice.payment_succeeded"
]
},
"credentials": {
"stripeApi": {
"id": "39",
"name": "Stripe account"
}
},
"typeVersion": 1
},
{
"name": "Update Deal to Paid",
"type": "n8n-nodes-base.hubspot",
"position": [
1240,
500
],
"parameters": {
"dealId": "={{$json[\"id\"]}}",
"operation": "update",
"updateFields": {
"customPropertiesUi": {
"customPropertiesValues": [
{
"value": "Yes",
"property": "paid"
}
]
}
},
"authentication": "oAuth2"
},
"credentials": {
"hubspotOAuth2Api": {
"id": "60",
"name": "Hubspot account 2"
}
},
"typeVersion": 1
},
{
"name": "Find Deal based on PO Number",
"type": "n8n-nodes-base.hubspot",
"position": [
820,
480
],
"parameters": {
"operation": "search",
"filterGroupsUi": {
"filterGroupsValues": [
{
"filtersUi": {
"filterValues": [
{
"value": "={{$json[\"data\"][\"object\"][\"custom_fields\"][0][\"value\"]}}",
"propertyName": "po_number"
}
]
}
}
]
},
"additionalFields": {}
},
"credentials": {
"hubspotApi": {
"id": "57",
"name": "Hubspot account"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"name": "If no PO Number",
"type": "n8n-nodes-base.if",
"position": [
600,
460
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$json[\"data\"][\"object\"][\"custom_fields\"]}}",
"operation": "isEmpty"
}
]
}
},
"typeVersion": 1
},
{
"name": "If no deal found for PO",
"type": "n8n-nodes-base.if",
"position": [
1020,
480
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$json[\"id\"]}}",
"operation": "isEmpty"
}
]
}
},
"typeVersion": 1
},
{
"name": "Send invoice paid message",
"type": "n8n-nodes-base.slack",
"position": [
1420,
500
],
"parameters": {
"text": ":sparkles: An invoice has been paid :sparkles:",
"channel": "team-accounts",
"blocksUi": {
"blocksValues": []
},
"attachments": [
{
"color": "#00FF04",
"fields": {
"item": [
{
"short": true,
"title": "Amount",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"amount_paid\"]/100}}"
},
{
"short": true,
"title": "Currency",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"currency\"]}}"
},
{
"short": false,
"title": "Customer Name",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"customer_name\"]}}"
},
{
"short": false,
"title": "Customer Email",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"customer_email\"]}}"
},
{
"short": true,
"title": "PO Number",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"custom_fields\"][0][\"value\"]}}"
},
{
"short": true,
"title": "",
"value": "="
}
]
},
"footer": "=*Transaction ID:* {{$node[\"When Invoice Paid\"].json[\"id\"]}}"
}
],
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "53",
"name": "Slack Access Token"
}
},
"typeVersion": 1
},
{
"name": "Send no PO Message",
"type": "n8n-nodes-base.slack",
"position": [
800,
240
],
"parameters": {
"text": ":x: Stripe Payment with no PO Number :x:",
"channel": "team-accounts",
"blocksUi": {
"blocksValues": []
},
"attachments": [
{
"color": "#FF3C00",
"fields": {
"item": [
{
"short": true,
"title": "Amount",
"value": "={{$json[\"data\"][\"object\"][\"amount_paid\"] / 100}}"
},
{
"short": true,
"title": "Currency",
"value": "={{$json[\"data\"][\"object\"][\"currency\"]}}"
},
{
"short": false,
"title": "Customer Name",
"value": "={{$json[\"data\"][\"object\"][\"customer_name\"]}}"
},
{
"short": false,
"title": "Customer Email",
"value": "={{$json[\"data\"][\"object\"][\"customer_email\"]}}"
}
]
},
"footer": "=*Transaction ID:* {{$json[\"id\"]}}"
}
],
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "53",
"name": "Slack Access Token"
}
},
"typeVersion": 1
},
{
"name": "Send Deal not found message",
"type": "n8n-nodes-base.slack",
"position": [
1180,
240
],
"parameters": {
"text": ":x: Unable to find Deal for the below payment :x:",
"channel": "team-accounts",
"blocksUi": {
"blocksValues": []
},
"attachments": [
{
"color": "#FF3C00",
"fields": {
"item": [
{
"short": true,
"title": "Amount",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"amount_paid\"]/100}}"
},
{
"short": true,
"title": "Currency",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"currency\"]}}"
},
{
"short": false,
"title": "Customer Name",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"customer_name\"]}}"
},
{
"short": false,
"title": "Customer Email",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"customer_email\"]}}"
},
{
"short": true,
"title": "PO Number",
"value": "={{$node[\"When Invoice Paid\"].json[\"data\"][\"object\"][\"custom_fields\"][0][\"value\"]}}"
}
]
},
"footer": "=*Transaction ID:* {{$node[\"When Invoice Paid\"].json[\"id\"]}}"
}
],
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "53",
"name": "Slack Access Token"
}
},
"typeVersion": 1
}
],
"active": false,
"settings": {},
"connections": {
"If no PO Number": {
"main": [
[
{
"node": "Send no PO Message",
"type": "main",
"index": 0
}
],
[
{
"node": "Find Deal based on PO Number",
"type": "main",
"index": 0
}
]
]
},
"When Invoice Paid": {
"main": [
[
{
"node": "If no PO Number",
"type": "main",
"index": 0
}
]
]
},
"Update Deal to Paid": {
"main": [
[
{
"node": "Send invoice paid message",
"type": "main",
"index": 0
}
]
]
},
"If no deal found for PO": {
"main": [
[
{
"node": "Send Deal not found message",
"type": "main",
"index": 0
}
],
[
{
"node": "Update Deal to Paid",
"type": "main",
"index": 0
}
]
]
},
"Find Deal based on PO Number": {
"main": [
[
{
"node": "If no deal found for PO",
"type": "main",
"index": 0
}
]
]
}
}
}Pour qui est ce workflow ?
Ce workflow s'adresse aux entreprises utilisant Stripe pour la gestion des paiements et HubSpot pour le suivi des ventes. Il est particulièrement utile pour les équipes commerciales et financières, ainsi que pour les PME souhaitant automatiser leurs processus sans nécessiter de compétences techniques avancées.
Problème résolu
Ce workflow résout le problème de la lenteur et de l'inefficacité dans le suivi des paiements. En automatisant les notifications et les mises à jour, il élimine les risques d'erreurs humaines et de retards dans la communication. Les utilisateurs bénéficient d'une visibilité instantanée sur les paiements, ce qui améliore la réactivité de l'équipe et la satisfaction client.
Étapes du workflow
Étape 1 : Le déclencheur 'When Invoice Paid' s'active lors d'un paiement dans Stripe. Étape 2 : Le workflow utilise 'Find Deal based on PO Number' pour rechercher l'affaire correspondante dans HubSpot. Étape 3 : Si une affaire est trouvée, 'Update Deal to Paid' met à jour son statut. Étape 4 : Si aucun numéro de commande n'est fourni, 'If no PO Number' envoie un message sur Slack. Étape 5 : Si aucune affaire n'est trouvée, 'If no deal found for PO' envoie un message d'alerte sur Slack.
Guide de personnalisation du workflow n8n
Pour personnaliser ce workflow, vous pouvez modifier le déclencheur en ajustant les événements dans Stripe selon vos besoins. Assurez-vous que les identifiants de l'affaire dans HubSpot soient correctement configurés dans le noeud 'Find Deal based on PO Number'. Vous pouvez également adapter les messages envoyés sur Slack en modifiant les textes dans les noeuds 'Send invoice paid message', 'Send no PO Message', et 'Send Deal not found message'. Enfin, vérifiez les paramètres d'authentification pour garantir la sécurité des connexions entre les services.