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 →
{
"name": "Sync Local Falcon rankings to Salesforce",
"nodes": [
{
"parameters": {
"content": "## Sync Local Falcon Rankings to Salesforce\n\n**Who is this for:** Agencies using Salesforce CRM who want ranking data automatically synced to Account or Opportunity records.\n\n**What this workflow does:**\n1. Fetches scan reports from Local Falcon daily\n2. Matches locations to Salesforce records via custom field\n3. Updates records with latest ranking data\n4. Creates activity records for significant changes\n\n**How to set up:**\n1. Add your Local Falcon API credentials (get your key at https://www.localfalcon.com/api/credentials)\n2. Add your Salesforce API credentials\n3. Create custom fields: Local_Falcon_Place_ID__c, Avg_Rank__c, Last_Scan_Date__c\n4. Populate place IDs on your Account records\n5. Activate the workflow\n\n**Requirements:**\n- Local Falcon account with API access\n- Salesforce account with API access\n- Custom fields configured in Salesforce\n\n**How to customize:**\n- Sync to Opportunities or custom objects\n- Trigger Salesforce flows based on rankings\n- Create cases for rank drops\n- Build Salesforce reports and dashboards",
"height": 520,
"width": 460,
"color": 5
},
"id": "sticky-main",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
100,
-180
]
},
{
"parameters": {
"content": "### Step 1: Schedule\nRuns daily to sync data.",
"height": 100,
"width": 200
},
"id": "sticky-step1",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
40,
660
]
},
{
"parameters": {
"content": "### Step 2: Get Reports\nFetches ranking data.",
"height": 100,
"width": 200
},
"id": "sticky-step2",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
300,
660
]
},
{
"parameters": {
"content": "### Step 3: Transform\nFormats for Salesforce fields.",
"height": 100,
"width": 200
},
"id": "sticky-step3",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
560,
660
]
},
{
"parameters": {
"content": "### Step 4: Find Account\nSearches by place_id.",
"height": 100,
"width": 200
},
"id": "sticky-step4",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
820,
660
]
},
{
"parameters": {
"content": "### Step 5: Update SF\nSyncs ranking data.",
"height": 100,
"width": 200
},
"id": "sticky-step5",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
1080,
660
]
},
{
"parameters": {
"rule": {
"interval": [
{
"field": "days",
"triggerAtHour": 6
}
]
}
},
"id": "schedule",
"name": "Every Day 6am",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
140,
440
]
},
{
"parameters": {
"resource": "scan",
"operation": "listReports",
"additionalFields": {
"limit": 50
}
},
"id": "get-reports",
"name": "Get Scan Reports",
"type": "@local-falcon/n8n-nodes-localfalcon.localFalcon",
"typeVersion": 1,
"position": [
400,
440
],
"credentials": {
"localFalconApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsCode": "const reports = $input.first().json.reports || [];\n\nreturn reports.map(report => ({\n json: {\n place_id: report.place_id,\n location_name: report.location_name,\n avg_rank: report.avg_rank,\n scan_date: report.scan_date,\n platform: report.platform,\n keyword: report.keyword\n }\n}));"
},
"id": "transform",
"name": "Transform Data",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
660,
440
]
},
{
"parameters": {
"operation": "getAll",
"objectType": "Account",
"options": {
"conditionsUi": {
"conditionValues": [
{
"field": "Local_Falcon_Place_ID__c",
"value": "={{ $json.place_id }}"
}
]
}
}
},
"id": "find-account",
"name": "Find Salesforce Account",
"type": "n8n-nodes-base.salesforce",
"typeVersion": 1,
"position": [
920,
440
],
"credentials": {
"salesforceOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"objectType": "Account",
"recordId": "={{ $json.Id }}",
"fieldsToUpdate": {
"field": [
{
"fieldId": "Avg_Rank__c",
"value": "={{ $('Transform Data').item.json.avg_rank }}"
},
{
"fieldId": "Last_Scan_Date__c",
"value": "={{ $('Transform Data').item.json.scan_date }}"
}
]
}
},
"id": "update-account",
"name": "Update Salesforce Account",
"type": "n8n-nodes-base.salesforce",
"typeVersion": 1,
"position": [
1180,
440
],
"credentials": {
"salesforceOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Every Day 6am": {
"main": [
[
{
"node": "Get Scan Reports",
"type": "main",
"index": 0
}
]
]
},
"Get Scan Reports": {
"main": [
[
{
"node": "Transform Data",
"type": "main",
"index": 0
}
]
]
},
"Transform Data": {
"main": [
[
{
"node": "Find Salesforce Account",
"type": "main",
"index": 0
}
]
]
},
"Find Salesforce Account": {
"main": [
[
{
"node": "Update Salesforce Account",
"type": "main",
"index": 0
}
]
]
}
},
"meta": {
"templateCredsSetupCompleted": true
}
}
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.
localFalconApisalesforceOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Sync Local Falcon rankings to Salesforce. Uses @local-falcon/n8n-nodes-localfalcon, salesforce. Scheduled trigger; 11 nodes.
Source: https://github.com/local-falcon/n8n-templates/blob/3dd7676046b6b8efc3bda40821cc944664db80f2/templates/31-salesforce-sync.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow is designed for B2B/SaaS teams who want to secure renewals before it’s too late.
This workflow extracts Lead and Opportunity data from Salesforce, transforms and normalizes the data, and loads it into PostgreSQL as a structured data bank for reporting and analytics.
Short Description
This n8n template automatically enriches company records in your CRM using CompanyEnrich and keeps your data up to date without manual work.
Sync Local Falcon rankings to HubSpot company records. Uses @local-falcon/n8n-nodes-localfalcon, hubspot. Scheduled trigger; 12 nodes.