Description This template will help you verify that incoming calls from a Slack webhook actually come from Slack and not some unknown third-party services. It is mainly used to prevent attacks from malicious bots or individuals. This is a Sub-Workflow, so it should be used inside the main workflow that contains the webhook listening for Slack requests. How to Use What to Edit You should set the Slack Signing Secret that you can find on your Slack App dashboard in the general tab. It should be located under the following URL: https://api.slack.com/apps/[SLACK_APP_ID]/general Input The input should be the received Slack request. This workflow should then be placed directly after the Slack Webhook. Outputs Success Output If the signature was verified successfully, we return a key verified_signature set to true along with data from the Slack request itself. Error Output When the signature could not be verified, we raise an error. You can handle this case in your main workflow by using an Error Workflow or by changing your node settings and choosing some actions in case of an error.
Tags
Related workflows
See all Crypto→Send a ChatGPT email reply and save responses to Google Sheets
This workflow sends a OpenAI GPT reply when an email is received from specific email recipients. It then saves the initial email and the GPT response to an automatically generated Google spreadsheet. Subsequent GPT responses will be added to the same spreadsheet. Additionally, when feedback is given for any of the GPT responses, it will be recorded to the spreasheet, which can then be used later to fine-tune the GPT model. Prerequisites OpenAI credentials Google credentials How it works This workflow is essentially a two-in-one workflow. It triggers off from two different nodes and have very different functionality from each trigger. The flow triggered from On email received node is as follows: Triggers off on the On email received node. Extract the email body from the email. Generate a response from the email body using the OpenAI node. Reply to the email sender using the Send reply to recipient node. A feedback link is also included in the email body which will trigger the On feedback given node. This is used to fine-tune the GPT model. Save the email body and OpenAI response to a Google Sheet. If a sheet does not exist, it will be created. The flow triggered from On feedback giv
Send LemonSqueezy subscription alerts to Slack, Discord, Telegram and log them in Google Sheets
Quick overview Get an alert in Slack, Discord or Telegram within seconds every time a LemonSqueezy subscription is created, cancelled, expires or a payment fails, plus a running log of every event in Google Sheets. How it works Receives a POST webhook from LemonSqueezy with the raw request body. Computes an HMAC signature for the raw body and compares it to LemonSqueezy’s x-signature header, stopping if they don’t match. Parses the webhook JSON and extracts the event name from the headers or payload metadata. Normalizes subscription and payment payloads into flat fields like customer email, product, plan, status, amount, and currency. Appends the normalized event to Google Sheets as an event log. If the event is not subscription_updated, sends an alert message to Slack, Discord, and/or Telegram with the key event details. Setup In LemonSqueezy, create a webhook pointing to this workflow’s Production webhook URL and set a signing secret. Configure the Crypto credential/secret used for the HMAC calculation so it matches your LemonSqueezy webhook signing secret exactly. Set up at least one alert destination: connect Slack OAuth and choose a channel, or provide a Discord webhook URL, o
Send hashed backend conversions to Meta Conversions API and Google Ads
Quick overview This workflow reads backend conversion events, normalizes and SHA-256-hashes required identifiers, and then sends each conversion to Meta Conversions API, Google Ads Enhanced Conversions, or both using HTTP requests with environment-based access tokens. How it works Runs manually to start the conversion upload. Sets the Meta Pixel ID, Meta/Google API versions, and Google Ads customer and conversion action IDs used to build requests. Loads backend conversion records (example rows) that include a destination flag (meta, google, or both) plus identifiers and conversion value data. Normalizes the identifier fields and hashes the required PII fields (email, phone, name, city/state/zip/country) with SHA-256. Regroups hashed identifiers with the original non-hashed fields (such as external_id, fbc/fbp, IP address, and user agent) into a per-conversion payload structure. Routes each conversion to Meta and/or Google based on the destination flag. Sends conversions to the Meta Conversions API and uploads conversions to the Google Ads API using authenticated HTTP requests. Setup Replace the example conversion source with your own data source (for example Supabase, Postgres, or