Mon flux de travail 2
Ceci est unMarket Research, AI Summarizationworkflow d'automatisation du domainecontenant 17 nœuds.Utilise principalement des nœuds comme Code, Filter, EmailSend, GoogleSheets, ScheduleTrigger. Découvrir et analyser les backlinks SEO avec ScrapeGraphAI et Google Sheets
- •Informations d'identification Google Sheets API
Nœuds utilisés (17)
Catégorie
{
"id": "VhEwspDqzu7ssFVE",
"meta": {
"instanceId": "f4b0efaa33080e7774e0d9285c40c7abcd2c6f7cf1a8b901fa7106170dd4cda3",
"templateCredsSetupCompleted": true
},
"name": "My workflow 2",
"tags": [
{
"id": "DxXGubfBzRKh6L8T",
"name": "Revenue Optimization",
"createdAt": "2025-07-25T16:24:30.370Z",
"updatedAt": "2025-07-25T16:24:30.370Z"
},
{
"id": "IxkcJ2IpYIxivoHV",
"name": "Content Strategy",
"createdAt": "2025-07-25T12:57:37.677Z",
"updatedAt": "2025-07-25T12:57:37.677Z"
},
{
"id": "PAKIJ2Mm9EvRcR3u",
"name": "Trend Monitoring",
"createdAt": "2025-07-25T12:57:37.670Z",
"updatedAt": "2025-07-25T12:57:37.670Z"
},
{
"id": "YtfXmaZk44MYedPO",
"name": "Dynamic Pricing",
"createdAt": "2025-07-25T16:24:30.369Z",
"updatedAt": "2025-07-25T16:24:30.369Z"
},
{
"id": "wJ30mjhtrposO8Qt",
"name": "Simple RAG",
"createdAt": "2025-07-28T12:55:14.424Z",
"updatedAt": "2025-07-28T12:55:14.424Z"
}
],
"nodes": [
{
"id": "c445da82-03ca-455c-b70f-f452f325e41a",
"name": "Déclencheur hebdomadaire programmé",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
608,
720
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "64aa43a5-ae6c-434c-bc4d-4e601f4269ff",
"name": "Récupérateur de backlinks concurrents par IA",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
1168,
720
],
"parameters": {
"userPrompt": "Find all the backlinks pointing to competitor websites in our niche. Extract the following information for each backlink: { \"source_url\": \"https://example.com/page\", \"target_url\": \"https://competitor.com\", \"anchor_text\": \"relevant keyword\", \"domain_authority\": \"65\", \"page_title\": \"Page Title\", \"context\": \"surrounding text context\" }",
"websiteUrl": "https://ahrefs.com/backlink-checker/"
},
"typeVersion": 1
},
{
"id": "d663512b-bedb-47f9-ba53-5512b3a9f842",
"name": "Analyseur d'opportunités de backlinks",
"type": "n8n-nodes-base.code",
"notes": "Analyzes and scores\nbacklink opportunities\nbased on multiple factors",
"position": [
1760,
704
],
"parameters": {
"jsCode": "// Process scraped backlink data and analyze opportunities\nconst inputData = $input.all()[0].json;\n\n// Extract backlinks array from result\nconst backlinks = inputData.result.backlinks || [];\n\n// Analyze and score each backlink opportunity\nreturn backlinks.map(link => {\n // Calculate opportunity score based on multiple factors\n const domainAuth = parseInt(link.domain_authority) || 0;\n const hasRelevantAnchor = link.anchor_text && link.anchor_text.length > 0;\n const hasContext = link.context && link.context.length > 50;\n \n // Scoring algorithm\n let opportunityScore = 0;\n opportunityScore += domainAuth * 0.4; // 40% weight on domain authority\n opportunityScore += hasRelevantAnchor ? 20 : 0; // 20 points for anchor text\n opportunityScore += hasContext ? 15 : 0; // 15 points for context\n opportunityScore += Math.random() * 25; // 25 points random factor for content relevance\n \n return {\n json: {\n source_url: link.source_url,\n target_url: link.target_url,\n anchor_text: link.anchor_text,\n domain_authority: link.domain_authority,\n page_title: link.page_title,\n context: link.context,\n opportunity_score: Math.round(opportunityScore),\n priority: opportunityScore > 70 ? 'High' : opportunityScore > 40 ? 'Medium' : 'Low',\n analyzed_date: new Date().toISOString().split('T')[0]\n }\n };\n});"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "98b58330-7b28-489e-8ee1-9a6354926cd3",
"name": "Filtre d'opportunités haute priorité",
"type": "n8n-nodes-base.filter",
"position": [
2336,
720
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "condition-high-priority",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.priority }}",
"rightValue": "High"
}
]
}
},
"typeVersion": 2
},
{
"id": "0a609388-12e0-4721-a0b4-7e58452a5ec2",
"name": "Recherche d'informations de contact par IA",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
2880,
768
],
"parameters": {
"userPrompt": "Find contact information on this website including email addresses, contact forms, social media profiles, and any team member information. Return data in this format: { \"emails\": [\"contact@example.com\", \"info@example.com\"], \"contact_forms\": [\"https://example.com/contact\"], \"social_media\": { \"twitter\": \"@handle\", \"linkedin\": \"company-page\" }, \"team_members\": [{ \"name\": \"John Doe\", \"role\": \"Content Manager\", \"email\": \"john@example.com\" }] }",
"websiteUrl": "={{ $json.source_url }}"
},
"typeVersion": 1
},
{
"id": "9f0b62f6-29a8-43fb-814e-efb7060108a2",
"name": "Fusion des données et préparation de prospection",
"type": "n8n-nodes-base.code",
"notes": "Combines opportunity data\nwith contact info and\nprepares outreach materials",
"position": [
3632,
752
],
"parameters": {
"jsCode": "// Merge backlink opportunity data with contact information\nconst backlinkData = $input.first().json;\nconst contactData = $input.last().json;\n\n// Extract contact info from scraping result\nconst contacts = contactData.result || {};\n\n// Create comprehensive outreach record\nreturn [{\n json: {\n // Backlink opportunity data\n source_url: backlinkData.source_url,\n target_url: backlinkData.target_url,\n anchor_text: backlinkData.anchor_text,\n domain_authority: backlinkData.domain_authority,\n page_title: backlinkData.page_title,\n context: backlinkData.context,\n opportunity_score: backlinkData.opportunity_score,\n priority: backlinkData.priority,\n analyzed_date: backlinkData.analyzed_date,\n \n // Contact information\n emails: contacts.emails || [],\n contact_forms: contacts.contact_forms || [],\n social_media: contacts.social_media || {},\n team_members: contacts.team_members || [],\n \n // Outreach status\n outreach_status: 'pending',\n outreach_attempts: 0,\n last_contact_date: null,\n notes: '',\n \n // Generate personalized outreach message\n suggested_subject: `Partnership Opportunity - ${backlinkData.page_title}`,\n outreach_message: `Hi there,\\n\\nI came across your article \"${backlinkData.page_title}\" and found it really valuable. I noticed you mentioned ${backlinkData.anchor_text} - we have some related content that your readers might find helpful.\\n\\nWould you be interested in exploring a content partnership?\\n\\nBest regards`\n }\n}];"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "0c5f454c-9d96-4ce4-bd2d-0d170f2acac7",
"name": "Google Suivi des opportunités dans Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
4096,
768
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "source_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "source_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "target_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "target_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "anchor_text",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "anchor_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "domain_authority",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "domain_authority",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "opportunity_score",
"type": "number",
"display": true,
"removed": false,
"required": false,
"displayName": "opportunity_score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priority",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "priority",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "emails",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "emails",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "outreach_status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "outreach_status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "suggested_subject",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "suggested_subject",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": []
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Backlink_Opportunities"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
}
},
"typeVersion": 4.5
},
{
"id": "f26fdc84-c320-42a0-b8f3-f453e996d983",
"name": "Filtre d'email disponible",
"type": "n8n-nodes-base.filter",
"position": [
3632,
560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "has-email-condition",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $json.emails.length }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2
},
{
"id": "d7c4c6ef-ccba-4fc7-8bdf-190b6b2cbd86",
"name": "Campagne d'email de prospection automatisée",
"type": "n8n-nodes-base.emailSend",
"position": [
4592,
816
],
"webhookId": "6cbbf447-4a67-4f70-96f6-45c7cf926e95",
"parameters": {
"options": {
"replyTo": "",
"attachments": "attachments",
"allowUnauthorizedCerts": false
},
"subject": "={{ $json.suggested_subject }}"
},
"typeVersion": 2.1
},
{
"id": "ff9f16cc-ea88-4116-a05e-5dbf6e373c1b",
"name": "Étape 1 - Info déclencheur programmé",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 1: Weekly Schedule Trigger ⏰\n\nThis trigger automatically runs the backlink opportunity finder workflow every week to discover fresh link building prospects.\n\n## Configuration Options\n- **Frequency**: Weekly execution (recommended for backlink research)\n- **Day & Time**: Configure for optimal business hours\n- **Time Zone**: Set according to your team's location\n\n## Best Practices\n- Weekly frequency balances fresh data with API rate limits\n- Schedule during business hours for immediate follow-up\n- Monitor execution logs for any failures\n- Adjust timing based on competitor activity patterns\n\n## Benefits\n- Consistent lead generation\n- Automated opportunity discovery\n- Fresh backlink prospects weekly\n- Reduced manual research time"
},
"typeVersion": 1
},
{
"id": "435ce088-f331-4196-9ae1-85848748e92a",
"name": "Étape 2 - Info récupérateur concurrentiel",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 2: AI-Powered Competitor Backlink Scraper 🕷️\n\nUtilizes ScrapeGraphAI to intelligently extract backlink data from competitor analysis tools and websites.\n\n## How it Works\n- Scrapes competitor backlink profiles\n- Extracts source URLs, anchor text, and domain metrics\n- Uses AI to understand page context and relevance\n- Identifies high-value linking opportunities\n\n## Configuration\n- **Website URL**: Backlink analysis tool or competitor site\n- **User Prompt**: Natural language extraction instructions\n- **API Credentials**: ScrapeGraphAI API key required\n\n## Data Extracted\n- Source website URLs\n- Target competitor URLs\n- Anchor text used\n- Domain authority scores\n- Page titles and context\n\n⚠️ **Note**: Requires ScrapeGraphAI community node"
},
"typeVersion": 1
},
{
"id": "af85e14d-cb85-456e-911c-1f3da25e4005",
"name": "Étape 3 - Info analyseur d'opportunités",
"type": "n8n-nodes-base.stickyNote",
"position": [
1536,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 3: Backlink Opportunity Analyzer 📊\n\nProcesses and scores each discovered backlink opportunity using a sophisticated algorithm.\n\n## Scoring Factors\n- **Domain Authority** (40% weight): Higher DA = better opportunity\n- **Anchor Text Relevance** (20 points): Relevant keywords boost score\n- **Content Context** (15 points): Meaningful surrounding text\n- **Content Relevance** (25 points): AI-assessed topical alignment\n\n## Priority Classification\n- **High Priority**: Score > 70 (immediate outreach)\n- **Medium Priority**: Score 40-70 (follow-up queue)\n- **Low Priority**: Score < 40 (long-term prospects)\n\n## Output Enhancement\n- Standardized opportunity scoring\n- Priority-based categorization\n- Analysis timestamp for tracking\n- Structured data for next steps"
},
"typeVersion": 1
},
{
"id": "edcd090e-bfc2-4cb6-9af7-45d65f5e4081",
"name": "Étape 4 - Info filtre de priorité",
"type": "n8n-nodes-base.stickyNote",
"position": [
2112,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 4: High Priority Opportunity Filter 🎯\n\nFilters opportunities to focus outreach efforts on the highest-value prospects first.\n\n## Filter Criteria\n- **Priority Level**: High priority opportunities only\n- **Score Threshold**: Opportunities scoring > 70 points\n- **Quality Focus**: Best prospects for immediate action\n\n## Benefits\n- Focused outreach efforts\n- Higher conversion rates\n- Efficient resource allocation\n- Better ROI on link building\n\n## Workflow Logic\n- High priority → Contact finder → Outreach\n- Medium/Low priority → Storage only\n- Failed opportunities → Analysis for improvement\n\n## Customization\n- Adjust score thresholds\n- Add additional filter criteria\n- Modify priority definitions\n- Include domain-specific rules"
},
"typeVersion": 1
},
{
"id": "9bafc262-fa70-4c0b-9105-079bc1a1239b",
"name": "Étape 5 - Info recherche de contact",
"type": "n8n-nodes-base.stickyNote",
"position": [
2688,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 5: AI-Powered Contact Information Finder 👥\n\nUses ScrapeGraphAI to intelligently find contact information on target websites for outreach campaigns.\n\n## Contact Discovery\n- **Email Addresses**: Primary and secondary contacts\n- **Contact Forms**: Direct submission options\n- **Social Media**: Twitter, LinkedIn, Facebook profiles\n- **Team Members**: Individual contact details and roles\n\n## AI Capabilities\n- Natural language processing for contact extraction\n- Smart recognition of contact patterns\n- Multi-format email detection\n- Social media profile identification\n\n## Data Structure\n- Organized contact arrays\n- Role-based team member info\n- Social media handle extraction\n- Contact form URL discovery\n\n## Quality Assurance\n- Validates email formats\n- Filters spam/generic addresses\n- Prioritizes decision-maker contacts"
},
"typeVersion": 1
},
{
"id": "fdf304ce-91c4-4a0e-9f20-062af314cbc3",
"name": "Étape 6 - Info fusion des données",
"type": "n8n-nodes-base.stickyNote",
"position": [
3264,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 6: Data Merger and Outreach Preparation 🔗\n\nCombines backlink opportunity data with contact information to create comprehensive outreach records.\n\n## Data Integration\n- Merges opportunity scores with contact details\n- Creates unified prospect profiles\n- Generates personalized outreach materials\n- Prepares campaign-ready data\n\n## Outreach Enhancement\n- **Personalized Subjects**: Dynamic subject line generation\n- **Custom Messages**: Contextual outreach templates\n- **Relationship Mapping**: Contact role identification\n- **Follow-up Planning**: Automated scheduling preparation\n\n## Status Tracking\n- Outreach attempt counters\n- Campaign status management\n- Response tracking preparation\n- Success metric foundations\n\n## Output Quality\n- Complete prospect profiles\n- Ready-to-send communications\n- Tracking-enabled records"
},
"typeVersion": 1
},
{
"id": "392eba9b-5b50-494c-9389-8c8b7ebbc2df",
"name": "Étape 7 - Info suivi Sheets",
"type": "n8n-nodes-base.stickyNote",
"position": [
3840,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 7: Google Sheets Opportunity Tracker 📈\n\nStores all backlink opportunities in Google Sheets for comprehensive campaign management and analysis.\n\n## Data Storage\n- **Complete Opportunity Records**: All discovered prospects\n- **Contact Information**: Email, social, team details\n- **Scoring Data**: Priority levels and opportunity scores\n- **Campaign Status**: Outreach progress tracking\n\n## Sheet Organization\n- Structured columns for easy filtering\n- Priority-based sorting options\n- Historical data preservation\n- Export capabilities for reporting\n\n## Team Collaboration\n- Shared access for marketing teams\n- Real-time updates and synchronization\n- Comment and note capabilities\n- Progress tracking and accountability\n\n## Analytics Ready\n- Performance metrics calculation\n- Success rate analysis\n- ROI tracking preparation\n- Campaign optimization insights"
},
"typeVersion": 1
},
{
"id": "1650fb50-4794-411a-9644-567f39cde834",
"name": "Étape 8 - Info campagne email",
"type": "n8n-nodes-base.stickyNote",
"position": [
4416,
-16
],
"parameters": {
"color": 4,
"width": 575,
"height": 962,
"content": "# Step 8: Automated Outreach Email Campaign 📧\n\nSends personalized outreach emails to high-priority prospects with valid email addresses.\n\n## Email Automation\n- **Personalized Content**: Dynamic subject lines and messages\n- **Smart Filtering**: Only contacts with valid emails\n- **Professional Templates**: Pre-crafted outreach messages\n- **Tracking Integration**: Campaign performance monitoring\n\n## Message Personalization\n- References specific page content\n- Includes relevant anchor text context\n- Mentions competitor relationships\n- Suggests mutual benefits\n\n## Delivery Features\n- SMTP configuration support\n- Bulk sending capabilities\n- Delivery status tracking\n- Bounce management\n\n## Best Practices\n- Respectful outreach frequency\n- Value-focused messaging\n- Professional tone and branding\n- Compliance with email regulations\n\n⚠️ **Note**: Configure SMTP credentials for email sending"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "c24b3ee0-7fae-40ea-81ea-b72b9e311e0a",
"connections": {
"f26fdc84-c320-42a0-b8f3-f453e996d983": {
"main": [
[
{
"node": "d7c4c6ef-ccba-4fc7-8bdf-190b6b2cbd86",
"type": "main",
"index": 0
}
]
]
},
"c445da82-03ca-455c-b70f-f452f325e41a": {
"main": [
[
{
"node": "64aa43a5-ae6c-434c-bc4d-4e601f4269ff",
"type": "main",
"index": 0
}
]
]
},
"d663512b-bedb-47f9-ba53-5512b3a9f842": {
"main": [
[
{
"node": "98b58330-7b28-489e-8ee1-9a6354926cd3",
"type": "main",
"index": 0
},
{
"node": "0c5f454c-9d96-4ce4-bd2d-0d170f2acac7",
"type": "main",
"index": 0
}
]
]
},
"98b58330-7b28-489e-8ee1-9a6354926cd3": {
"main": [
[
{
"node": "0a609388-12e0-4721-a0b4-7e58452a5ec2",
"type": "main",
"index": 0
}
]
]
},
"9f0b62f6-29a8-43fb-814e-efb7060108a2": {
"main": [
[
{
"node": "f26fdc84-c320-42a0-b8f3-f453e996d983",
"type": "main",
"index": 0
}
]
]
},
"0a609388-12e0-4721-a0b4-7e58452a5ec2": {
"main": [
[
{
"node": "9f0b62f6-29a8-43fb-814e-efb7060108a2",
"type": "main",
"index": 0
}
]
]
},
"64aa43a5-ae6c-434c-bc4d-4e601f4269ff": {
"main": [
[
{
"node": "d663512b-bedb-47f9-ba53-5512b3a9f842",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Étude de marché, Résumé IA
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
vinci-king-01
@vinci-king-01Partager ce workflow