Workflow: Strapi Webhook Automation

Workflow Details

Download Workflow
{
    "nodes": [
        {
            "name": "Simplify Result",
            "type": "n8n-nodes-base.set",
            "position": [
                680,
                100
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "Content",
                            "value": "={{$json[\"full_text\"].replace(\/(?:https?|ftp):\\\/\\\/[\\n\\S]+\/g, '')}}"
                        },
                        {
                            "name": "Author",
                            "value": "={{$json[\"user\"][\"name\"]}} (@{{$json[\"user\"][\"screen_name\"]}})"
                        },
                        {
                            "name": "Created",
                            "value": "={{new Date($json[\"created_at\"]).toISOString()}}"
                        },
                        {
                            "name": "URL",
                            "value": "=https:\/\/twitter.com\/{{$json[\"user\"][\"screen_name\"]}}\/status\/{{$json[\"id_str\"]}}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "name": "Store in Strapi",
            "type": "n8n-nodes-base.strapi",
            "position": [
                1780,
                100
            ],
            "parameters": {
                "columns": "Content,Author,Created,URL",
                "operation": "create",
                "contentType": "posts"
            },
            "credentials": {
                "strapiApi": {
                    "id": "136",
                    "name": "Strapi Demo"
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Every 30 Minutes",
            "type": "n8n-nodes-base.interval",
            "position": [
                240,
                100
            ],
            "parameters": {
                "unit": "minutes",
                "interval": 30
            },
            "typeVersion": 1
        },
        {
            "name": "Is Retweet or Old?",
            "type": "n8n-nodes-base.if",
            "position": [
                900,
                100
            ],
            "parameters": {
                "conditions": {
                    "string": [
                        {
                            "value1": "={{$json[\"Content\"]}}",
                            "value2": "RT @",
                            "operation": "startsWith"
                        }
                    ],
                    "dateTime": [
                        {
                            "value1": "={{$json[\"Created\"]}}",
                            "value2": "={{new Date(new Date().getTime() - 30 * 60 * 1000)}}",
                            "operation": "before"
                        }
                    ]
                },
                "combineOperation": "any"
            },
            "typeVersion": 1
        },
        {
            "name": "Search Tweets",
            "type": "n8n-nodes-base.twitter",
            "position": [
                460,
                100
            ],
            "parameters": {
                "operation": "search",
                "searchText": "(strapi OR n8n.io) AND lang:en",
                "additionalFields": {
                    "tweetMode": "extended",
                    "resultType": "recent"
                }
            },
            "credentials": {
                "twitterOAuth1Api": {
                    "id": "15",
                    "name": "@MutedJam"
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Webhook",
            "type": "n8n-nodes-base.webhook",
            "position": [
                240,
                -120
            ],
            "webhookId": "6f833370-9068-44ef-8e56-4ceb563a851e",
            "parameters": {
                "path": "6f833370-9068-44ef-8e56-4ceb563a851e",
                "options": [],
                "httpMethod": "POST"
            },
            "typeVersion": 1
        },
        {
            "name": "Simplify Webhook Result",
            "type": "n8n-nodes-base.set",
            "position": [
                460,
                -120
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "Content",
                            "value": "={{$json[\"body\"][\"data\"][\"fields\"][1][\"value\"]}}"
                        },
                        {
                            "name": "Author",
                            "value": "={{$json[\"body\"][\"data\"][\"fields\"][0][\"value\"]}}"
                        },
                        {
                            "name": "Created",
                            "value": "={{new Date().toISOString()}}"
                        },
                        {
                            "name": "URL"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "name": "Analyze Form Submission",
            "type": "n8n-nodes-base.googleCloudNaturalLanguage",
            "position": [
                680,
                -220
            ],
            "parameters": {
                "content": "={{$json[\"Content\"]}}",
                "options": []
            },
            "credentials": {
                "googleCloudNaturalLanguageOAuth2Api": {
                    "id": "138",
                    "name": "Google Cloud Natural Language account"
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Analyze Tweet",
            "type": "n8n-nodes-base.googleCloudNaturalLanguage",
            "position": [
                1120,
                200
            ],
            "parameters": {
                "content": "={{$json[\"Content\"]}}",
                "options": []
            },
            "credentials": {
                "googleCloudNaturalLanguageOAuth2Api": {
                    "id": "138",
                    "name": "Google Cloud Natural Language account"
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Merge Form Sentiment with Source",
            "type": "n8n-nodes-base.merge",
            "position": [
                900,
                -120
            ],
            "parameters": {
                "mode": "mergeByIndex"
            },
            "typeVersion": 1
        },
        {
            "name": "Merge Tweet Sentiment with Source",
            "type": "n8n-nodes-base.merge",
            "position": [
                1340,
                100
            ],
            "parameters": {
                "mode": "mergeByIndex"
            },
            "typeVersion": 1
        },
        {
            "name": "Positive Form Sentiment?",
            "type": "n8n-nodes-base.if",
            "position": [
                1120,
                -120
            ],
            "parameters": {
                "conditions": {
                    "number": [
                        {
                            "value1": "={{$json[\"documentSentiment\"][\"score\"]}}",
                            "value2": 0.40000000000000002220446049250313080847263336181640625,
                            "operation": "larger"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Store Form Submission in Strapi",
            "type": "n8n-nodes-base.strapi",
            "position": [
                1340,
                -120
            ],
            "parameters": {
                "columns": "Content,Author,Created,URL",
                "operation": "create",
                "contentType": "posts"
            },
            "credentials": {
                "strapiApi": {
                    "id": "136",
                    "name": "Strapi Demo"
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Positive Tweet Sentiment?",
            "type": "n8n-nodes-base.if",
            "position": [
                1560,
                100
            ],
            "parameters": {
                "conditions": {
                    "number": [
                        {
                            "value1": "={{$json[\"documentSentiment\"][\"score\"]}}",
                            "value2": 0.299999999999999988897769753748434595763683319091796875,
                            "operation": "larger"
                        }
                    ]
                }
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "Webhook": {
            "main": [
                [
                    {
                        "node": "Simplify Webhook Result",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Analyze Tweet": {
            "main": [
                [
                    {
                        "node": "Merge Tweet Sentiment with Source",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Search Tweets": {
            "main": [
                [
                    {
                        "node": "Simplify Result",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Simplify Result": {
            "main": [
                [
                    {
                        "node": "Is Retweet or Old?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Every 30 Minutes": {
            "main": [
                [
                    {
                        "node": "Search Tweets",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Is Retweet or Old?": {
            "main": [
                null,
                [
                    {
                        "node": "Analyze Tweet",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Merge Tweet Sentiment with Source",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Analyze Form Submission": {
            "main": [
                [
                    {
                        "node": "Merge Form Sentiment with Source",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Simplify Webhook Result": {
            "main": [
                [
                    {
                        "node": "Analyze Form Submission",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Merge Form Sentiment with Source",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Positive Form Sentiment?": {
            "main": [
                [
                    {
                        "node": "Store Form Submission in Strapi",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Positive Tweet Sentiment?": {
            "main": [
                [
                    {
                        "node": "Store in Strapi",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Merge Form Sentiment with Source": {
            "main": [
                [
                    {
                        "node": "Positive Form Sentiment?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Merge Tweet Sentiment with Source": {
            "main": [
                [
                    {
                        "node": "Positive Tweet Sentiment?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Blockchain DEX Screener Insights Agent
View
LinkedIn Leads Scraping & Enrichment (Main)
View
Gratitude Jar Reminder
View
Telegram Splitout Import Webhook
View
Stickynote Respondtowebhook Send Webhook
View
Extractfromfile Manual Create Webhook
View
DSP Agent
View
Splitout Code Create Webhook
View
Automate
View
Open Deep Research - AI-Powered Autonomous Research Workflow
View