Workflow: Strapi Webhook Automate

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

Splitout Redis Automation Webhook
View
Aggregate Telegram Automate Triggered
View
Manual Splitinbatches Automate Triggered
View
Wait Splitout Process Webhook
View
Manual Box Automate Triggered
View
Receive updates from Telegram and send an image of a cocktail
View
Code Filter Create Scheduled
View
Airtable Mindee Automate Webhook
View
Monitor Competitor Pricing
View
Complete Guide to Setting Up and Generating TOTP Codes in n8n 🔐
View