HTTP Request workflow'ları
458 sonuç — tümü kaynağa bağlı n8n referansı
Track and analyze TikTok videos with Apify, OpenAI, and Google Sheets
Quick overview This workflow runs daily (or manually) to fetch recent videos from a list of TikTok accounts via Apify, transcribes each video with OpenAI, generates content insights and translations, and then appends or updates one row per video in Google Sheets. How it works Runs on a daily schedule (or manually) and loads configuration values like the date window, video limit, output language, and Apify actor. Reads the TikTok usernames to monitor from the accounts tab in Google Sheets. Calls the Apify TikTok Scraper API to retrieve the latest videos for each configured account. Filters and normalizes the results to keep only videos published within the last N days and extracts metrics, captions, hashtags, and download URLs. Downloads each video file and transcribes it with OpenAI speech-to-text. Sends the transcription plus caption and hashtags to OpenAI to extract a hook, classify the content, infer the video format, and translate the transcription. Writes the combined video metadata, transcription, and AI insights to the insights tab in Google Sheets using an append-or-update operation. Setup Create a Google Sheets spreadsheet with an accounts sheet containing a username colum
Generate CCTV-style animal TikTok videos with OpenAI, Seedance and Blotato
Quick Overview This workflow runs every four hours to generate a CCTV-style animal video concept with OpenAI, renders an 8-second vertical clip using AtlasCloud Seedance, then publishes it to TikTok via Blotato and sends a preview to Telegram. How it works Runs every 4 hours on a schedule. Uses OpenAI to create a hyper-realistic CCTV-style image and video prompt based on a random (or overridden) animal, location, action, and a current timestamp overlay. Starts a Seedance text-to-video render on AtlasCloud with the generated prompt, duration, aspect ratio, and optional audio. Polls AtlasCloud at a fixed interval until the render status is completed or succeeded and retrieves the output video URL. Uses OpenAI to generate a TikTok-ready title and exactly five hashtags from the video concept. Publishes the generated video to TikTok via Blotato with the title/hashtags and the selected privacy level, flagged as AI-generated. Sends the rendered video and title as a preview to a specified Telegram chat. Setup Add OpenAI API credentials and set the prompt and caption models in the Configuration values if you want to change them. Add an AtlasCloud API key (HTTP Header Auth) and ensure it is
Send prescription PDFs to patients via WhatsApp with Google Gemini and Supabase
Quick overview This workflow listens for incoming WhatsApp messages from clinic staff, uses Google Gemini to extract prescription details, generates a prescription PDF via an HTML-to-PDF API, uploads it to a public URL, sends the document back over WhatsApp, and logs outcomes to Supabase. How it works Triggers whenever a new WhatsApp message is received on your WhatsApp Business Cloud number. Captures configuration values and the incoming message text and sender number. Uses Google Gemini to extract patient name, doctor name, and medication details into structured data and flags any missing required fields. If required details are missing, replies to staff on WhatsApp with what to fix and inserts a needs_review record into Supabase. If details are complete, renders a prescription HTML document, converts it to a PDF via an external HTML-to-PDF API, and uploads the PDF to an external file-hosting API. Sends the prescription PDF to the sender on WhatsApp and inserts a “sent” log record (including the PDF URL) into Supabase. Setup Connect WhatsApp Business Cloud credentials for the WhatsApp trigger and the WhatsApp send steps, and configure the workflow’s webhook in Meta/WhatsApp so in
Track recurring job pain points with SerpApi, Gemini, and Google Sheets
Quick Overview This workflow runs weekly to pull Google Jobs results via SerpApi, uses Google Gemini to extract operational pain points and an automation opportunity from each posting, logs them to Google Sheets, and writes a frequency-ranked pain-point summary to a summary tab. How it works Runs weekly on a schedule. Sets the target job role, location, and Google Sheets tab name to use for this run. Queries Google Jobs through SerpApi and splits the response into one item per job posting. Sends each posting’s title, company, and description to Google Gemini and parses the returned JSON into structured fields. Appends each analyzed posting (company, title, pain points, automation opportunity, and collection date) as a new row in Google Sheets. Reads all rows from the same Google Sheets tab, counts how often each pain-point phrase appears, and sorts the list by frequency. Appends the ranked pain-point frequency list to a Google Sheets "summary" tab. Setup Add a SerpApi API key and update the SerpApi request parameters in the HTTP request step (or store the key in an n8n credential). Connect a Google Sheets OAuth2 credential and replace the placeholder spreadsheet URL/ID with your ow
Route WhatsApp support requests with Groq, Google Sheets, Gmail, Telegram and AiSensy
Quick overview This workflow receives incoming WhatsApp messages via an n8n webhook, loads an FAQ knowledge base from Google Sheets, and uses Groq (Llama 3.3) to classify intent and generate a reply. It sends the response through the AiSensy API, logs the conversation to Google Sheets, and alerts via Gmail and Telegram. How it works Receives a POST request from AiSensy on a WhatsApp webhook when a customer sends a message. Extracts the customer phone, name, message text, and timestamp, and ignores requests missing required fields. Loads FAQ question-and-answer rows from Google Sheets and sends them with the customer message to Groq (Llama 3.3) to classify intent, detect language and urgency, and draft a reply. Parses and validates the model’s JSON output and formats a safe fallback reply if parsing fails. Sends the generated reply back to the customer using the AiSensy WhatsApp API. Sends a Gmail alert when the intent is COMPLAINT and posts a Telegram alert when the intent is ESCALATE. Appends or updates a conversation log row in Google Sheets and returns a 200 OK webhook response. Setup Configure AiSensy to send message events to this workflow’s webhook URL (path: /whatsapp-suppor
Transform uploaded documents into structured data with Unstructured MCP
Quick overview This workflow collects an uploaded document via an n8n form and uses Unstructured’s hosted Transform MCP server to convert it into structured, LLM-ready text output, then returns the extracted content and basic stats (elements, characters) while handling size limits and transform job polling. How it works Receives a document upload through an n8n form trigger. Checks whether the uploaded file is within the 50 MB limit and shows a “File too large” completion page if it exceeds the cap. Requests a pre-signed upload URL from Unstructured Transform MCP and uploads the file bytes to that URL via HTTP PUT. Starts a transform job in Unstructured Transform MCP, then polls the job status every 5 seconds until it completes or fails. When the job completes, fetches the transform results metadata from Unstructured and verifies a download URL is available. Downloads the extracted output from the signed download URL and returns a formatted response containing the status, source filename, output stats, and extracted content (or a “No content could be extracted” message). Setup Create an Unstructured Transform account and generate an API key, then add it to n8n as an HTTP Bearer Aut
Save Amazon reviews to Notion with ScraperAPI and OpenAI GPT-5 Mini
Quick Overview This workflow runs every Monday to scrape recent Amazon product reviews via ScraperAPI, uses OpenAI to classify sentiment and feature tags, and then saves each new review into a Notion database with structured properties and a formatted page body. How it works Runs every Monday at 8am and loads a configured watchlist of Amazon ASINs plus Notion and locale settings. Fetches Amazon product data (including recent reviews) for each ASIN using ScraperAPI. Extracts reviews from each response and only forwards reviews that have not been seen in previous runs, capped per ASIN. Sends each new review to OpenAI to return a JSON sentiment label, 1–4 feature tags, and a one-sentence summary. Normalizes the AI output, clips long review text to fit Notion limits, and converts the review date into an ISO date. Creates a new page in the target Notion database for each review, filling properties like Sentiment, Stars, Feature tags, Product, Review date, and metadata. Setup Add ScraperAPI credentials and ensure the ScraperAPI Amazon Product (SDE) endpoint is available for your account. Add Notion API credentials, share the target database with your Notion integration, and copy the data
Translate YouTube video metadata into multiple languages with OpenAI
Quick overview This workflow fetches a YouTube video’s title and description, uses OpenAI to translate them into multiple target languages, and updates the video’s YouTube localizations via the YouTube Data API, returning a YouTube Studio link to review the translations. How it works Runs manually when you execute the workflow. Reads the configured YouTube video ID, default language, target languages, and OpenAI model. Fetches the video’s current metadata (including existing localizations) from YouTube. Removes the default language from the target language list and prepares the language-code keys required for the translation output. Sends the title and description to OpenAI and parses the response as structured JSON with a translated title and description per language code. Updates the video on YouTube by writing the translated metadata into the video’s localizations via a single YouTube API request. Outputs a YouTube Studio translations URL so you can review the updated localizations. Setup Add YouTube OAuth2 credentials with permission to edit videos on the target channel. Add an OpenAI API key credential and choose a model name in the configuration. Set the video_id, default_lan
Answer support FAQs with Google Gemini, Supabase, Google Sheets and WhatsApp
Quick overview This workflow ingests FAQs from Google Sheets into a Supabase vector table using Google Gemini embeddings, then serves a webhook-based support chatbot that answers only from that FAQ knowledge base and escalates unanswered questions to a human via UltraMsg WhatsApp. How it works Runs manually to pull FAQ rows (Question/Answer) from a Google Sheets spreadsheet. Formats each row into a single text document (for example, Q: … A: …), generates embeddings with Google Gemini, and inserts the documents into a Supabase vector store table. Receives incoming chat messages via a POST webhook that includes message and sessionId. Uses a Google Gemini chat model with session-based memory to query the Supabase vector store for the most relevant FAQ matches and generates a reply strictly from the retrieved content. If the agent output indicates escalation to a human, sends the full message content to UltraMsg via an HTTP request to alert a WhatsApp number. Returns a JSON response to the webhook caller with either the FAQ-based answer or a confirmation that a human agent has been notified. Setup Add credentials for Google Gemini (PaLM) API, Supabase, and Google Sheets OAuth2. In Supa
Monitor new template releases with OpenAI and log insights to Telegram and Google Sheets
Quick overview This workflow runs daily to check the public n8n Templates API for newly published templates in a chosen category, generates improvement suggestions with OpenAI, logs each new template to Google Sheets, and sends a Telegram digest (with an optional all-clear message when nothing new is found). How it works Runs every day at 9 AM on a schedule. Fetches the latest templates for the configured category from the n8n Templates API. Extracts key metadata for each template and compares template IDs against a stored “seen” list to detect newly published items. For each new template, sends its details to an OpenAI chat model to generate 4–6 business-focused improvement tips. Appends one row per new template (including the AI tips and metadata) to a Google Sheets spreadsheet. Builds a combined digest of all new templates and posts it to a Telegram chat, or sends an optional all-clear message when no new templates are found. Setup Add an OpenAI API credential and select the model to use for the analysis. Add a Google Sheets OAuth credential, then choose the target spreadsheet and sheet tab and ensure the header columns match the fields being appended. Add a Telegram bot credent
Handle LinkedIn inbox RAG replies with Unipile, Claude, Pinecone, and Airtable
Quick overview Automatically ingest your knowledge base, monitor your LinkedIn company page inbox, and reply to leads and customers with AI-drafted, source-grounded answers. Classifies every message, checks for spam, drafts replies using Claude and Pinecone RAG, and lets you auto-send or review each reply in Airtable. How it works A Google Drive trigger watches a folder for new or updated documents, downloading each file automatically as it's added. Each document is split into chunks, embedded, and upserted into a Pinecone vector index, building a searchable company knowledge base. A webhook receives every new LinkedIn message sent to your company page via Unipile, filtering out messages you sent yourself. The last few messages in the conversation are fetched and formatted into a chronological transcript for context. An AI agent classifies the message's intent (lead, support, partnership, recruiting, spam, or other) using shared conversation memory. A second AI agent drafts a reply, searching the Pinecone knowledge base for relevant facts before answering, and saves the draft to Airtable. Depending on a configurable auto-send toggle, the reply is sent immediately via Unipile, or he
Generate branded social captions and images with OpenAI and PostFast
Quick Overview This workflow runs three times a week to generate a branded social caption and AI image with OpenAI, then uploads the image via PostFast pre-signed URLs and schedules the post across selected connected social accounts. How it works Runs on a schedule every Monday, Wednesday, and Friday at 7am. Loads the brand name, image style, topic list, and a platform filter used for the current run. Fetches connected social media accounts from PostFast and keeps only accounts that match the selected platforms. Uses OpenAI (gpt-4o-mini) to generate a JSON response containing a caption and a matching image prompt. Requests pre-signed PostFast upload URLs (one per target account) and uses OpenAI (gpt-image-1) to render a 1024×1024 PNG image. Uploads the image to the provided S3 URLs and schedules a PostFast post per account with the caption and the corresponding uploaded media key for one hour later. Setup Install and enable the verified PostFast community node (n8n-nodes-postfast) and add your PostFast API key credentials. Add your OpenAI credentials for both the text generation (gpt-4o-mini) and image generation (gpt-image-1) steps. Update the brand name, image style, topic list,
Create AI music videos from a prompt with OpenAI, Kie.ai and BeatAPI
Quick overview This workflow collects a music video theme via an n8n form, uses OpenAI to generate music, image, and video prompts, then calls Kie to create an instrumental track and a Nano Banana image, and finally uses BeatAPI to render a publish-ready AI music video. How it works Receives a submission from an n8n Form Trigger with inputs like theme, genre, mood, duration, aspect ratio, and quality. Uses OpenAI (via an AI Agent with a structured output schema) to generate a Suno-style music prompt, an image prompt, a BeatAPI music-video prompt, and YouTube metadata. Sends the generated music prompt and settings to Kie to start audio generation, then polls Kie until the track is ready and validates the duration is within 10–180 seconds. Sends the generated image prompt to Kie (Nano Banana model) to create key art, then polls Kie until an image URL is returned. Creates a BeatAPI AI music video task using the generated audio URL, one or two image URLs (generated image plus optional cover image), and the BeatAPI prompt, then polls BeatAPI until the render succeeds. Returns the final video URL along with YouTube-ready title, description, tags, and provider task IDs in a single publish
Send daily AI-personalized cold emails with Google Places and OpenAI
Quick overview This workflow runs every morning to find local businesses via Google Places, pulls their website content to extract an email address, uses OpenAI to draft a personalised automation-focused outreach message, then sends it via SMTP while tracking contacts in an n8n Data Table. How it works Runs daily at 9:00 and sets the campaign parameters (rotating niche and city, sender details, daily send cap, and delay between emails). Searches Google Places for businesses matching the selected niche and location, then iterates through each returned place. Keeps only businesses with a website, fetches the website HTML, and extracts a likely contact email address plus a short text snippet. Filters out leads without an email and skips any email address already logged in the n8n Data Table. Limits the run to the configured daily cap and processes leads in batches. Uses OpenAI to generate a structured subject and body for a personalised cold email based on the business snippet and your campaign details. Sends the email via SMTP with your signature and unsubscribe note, logs the contact in the Data Table, and waits the configured delay before sending the next email. Setup Add credentia
Create talking avatar TikTok videos with Seedance, OpenAI and Blotato
Quick overview This workflow generates a talking-avatar video from a portrait image using AtlasCloud Seedance 2.0, creates a TikTok-ready title with OpenAI, and publishes the resulting video to TikTok via Blotato. How it works Starts when you manually execute the workflow in n8n. Sends the image URL, script prompt, and video settings to AtlasCloud Seedance 2.0 to generate an image-to-video talking avatar. Waits for a configured interval and polls AtlasCloud for the generation status until it returns completed/succeeded. Extracts the generated video URL from the AtlasCloud response. Uses OpenAI to produce a single TikTok title (under 60 characters) based on the provided script prompt. Uploads the video to TikTok through Blotato using the generated title and the selected privacy level, marking the post as AI-generated. Setup Create an AtlasCloud API key and add it as an HTTP Header Auth credential, then select it in both AtlasCloud HTTP Request steps. Add an OpenAI API credential and ensure the OpenAI chat model is selected for the title-generation step. Add a Blotato API credential, connect your TikTok account in Blotato, and select the correct TikTok account in the publishing step.
Create Seedance 2 image-to-video clips for TikTok and YouTube with OpenAI
Quick overview This workflow listens for a Telegram photo message, uploads the image to AtlasCloud to generate a Seedance 2.0 image-to-video clip, uses OpenAI to create a short SEO title, then publishes the video to YouTube and TikTok via Blotato and sends a confirmation back to Telegram. How it works Receives a Telegram message containing an image and uses the caption as the video prompt. Uploads the image to AtlasCloud and starts a ByteDance Seedance 2.0 image-to-video generation job with the configured duration, resolution, aspect ratio, and FPS. Polls AtlasCloud at a set interval until the generation status is completed or succeeded. Sends the prompt to OpenAI to generate a single short, optimized title for the video. Publishes the rendered video URL to YouTube through Blotato using the generated title. Publishes the same video to TikTok through Blotato and sends a Telegram message with the title and video link. Setup Connect a Telegram bot credential and send photos with captions to the bot to trigger the workflow. Create an AtlasCloud API header-auth credential (Authorization: Bearer ) and select it in the AtlasCloud upload, generate, and status HTTP requests. Add an OpenAI A
Summarize Telegram-shared webpages with OpenAI GPT-4o
Quick overview This workflow listens for Telegram messages containing a URL, fetches and cleans the webpage content, summarizes it with an OpenAI chat model, and replies in the same Telegram chat with a formatted summary including key points and action items. How it works Triggers when a new Telegram message is received by your bot. Extracts the first http/https URL from the message text and captures the sender’s chat ID. If no valid URL is found, sends an error message back to the same Telegram chat. If a valid URL is found, fetches the webpage HTML and extracts the title and cleaned body text while removing common boilerplate elements. Truncates the extracted text to a configurable maximum length and sends the title, URL, and text to OpenAI to generate a structured JSON summary. Formats the JSON into Telegram HTML (title, source link, summary, key points, and insights/action items) and sends it back to the original chat. Setup Create a Telegram bot and add a Telegram API credential in n8n, then select it in both the Telegram Trigger and the send-message steps. Add an OpenAI API credential in n8n and select it for the OpenAI chat model used for summarization. Activate the workflow
Triage network read and commit requests with Slack, Anthropic, and pyATS
Quick overview This Slack ChatOps workflow uses AI agents and a pyATS MCP server to handle day-to-day data network housekeeping tasks: from on-demand checks and validations per device, to configuration change proposals that require human approval before commit. Read the docs here: https://cs.co/9004BEMGZm How it works A network engineer mentions the Slack bot in a channel or thread. The workflow acknowledges the request and captures the full message The request is sent to a Planning Agent connected to pyATS through read-only MCP tools. The agent determines whether the user wants operational data or a configuration change, gathers live device evidence if needed, and evaluates whether the request is safe. If the request is operational only, or if the proposed change is unsafe, the workflow replies in the same Slack thread with a clear technical summary, including the relevant device findings or the reason why no change will be made. If the request is a safe configuration change, the workflow creates one approval card per target device. Each card shows the proposed change, the pre-check evidence collected from the device, and the safety rationale so the engineer can review exactly wha
Send weekly Vercel analytics digest emails with Groq and SMTP
Quick Overview This workflow runs every Monday, pulls the last 7 days of Vercel Web Analytics data, uses Groq (Llama 3.3 70B) to generate an HTML summary, and emails a weekly digest via SMTP, with an automatic raw-stats fallback if the AI step fails. How it works Runs every Monday at 9:00 AM based on your n8n instance timezone. Builds the reporting window and key settings (Vercel project/team IDs, site name, sender, and recipient) and generates millisecond timestamps for the last 7 days. Calls the Vercel Web Analytics Query API to fetch total page views and unique visitors, then fetches the top 5 pages and top 5 referrer hostnames for the same time range. Consolidates the three Vercel responses into a single JSON report with calculated pages-per-visit and defensive handling for missing or empty data. Sends the report to Groq Llama 3.3 70B to produce a structured HTML digest with headline, metrics, top pages, traffic sources, and a single actionable insight. If the Groq request errors, generates a plain HTML “raw numbers” version of the digest instead. Sends the final HTML digest email via SMTP using the configured sender and recipient addresses. Setup Create a Vercel API token and
Run a Telegram RAG support chatbot with OpenAI, Pinecone, and Google Sheets
Quick overview This workflow turns a Telegram bot into a multi-modal support chatbot that accepts text, voice, images, and PDFs, converts them to text, retrieves relevant knowledge from Pinecone using OpenAI embeddings, generates a grounded answer with OpenAI Chat Completions, and logs each conversation to Google Sheets. How it works Triggers when a new message is received by your Telegram bot. Detects whether the message is text, a voice note, a photo, a PDF document, or an admin-only /ingest command, and extracts the needed user and file identifiers. For voice, image, and PDF inputs, downloads the file from Telegram and converts it into text using OpenAI Whisper, OpenAI Vision, or PDF text extraction. Builds a single query text from the normalized input and creates an embedding with the OpenAI Embeddings API. Queries Pinecone for the top 3 most relevant knowledge base chunks and assembles them into a context block. Sends the query and retrieved context to the OpenAI Chat Completions API to generate an answer constrained to the provided knowledge. Sends the reply back to the user in Telegram and appends a conversation log row (including session ID and chunk count) to Google Sheets
Schedule YouTube Shorts to Pinterest with Apify, Gemini, and an OpenAI model
Quick overview This workflow receives YouTube Shorts webhook events, downloads the video via Apify, uses Google Gemini and an OpenAI-compatible chat model to generate Pinterest SEO metadata and choose a board, then schedules a Pinterest video pin through Zernio (Late) for publishing. How it works Receives a webhook request for YouTube PubSubHubBub verification and responds with the provided hub challenge. Receives a POST webhook event for a new YouTube video and extracts the title, video ID, channel ID, and video URL from the feed payload. Uses Apify to fetch and process the YouTube Short and returns a downloadable MP4 URL. Sends the video to the Google Generative Language (Gemini) API to generate an analysis used for Pinterest-focused metadata. Uses a LangChain LLM chain (with structured output validation) to produce a Pinterest-ready title, description, hashtags, and a board selection from a fixed list. Maps the selected board name to a Pinterest board ID and schedules the video post to Pinterest via the Zernio (Late) API. Setup Create the YouTube webhook/PubSubHubbub subscription and configure it to call this workflow’s webhook URL at the manga-monarch-webhook path for both veri
Generate structured drama scripts from webhook requests using OpenAI and Google Sheets
Quick overview This workflow accepts a webhook request with a drama topic, genre, tone, and size constraints, uses Python-based genre classification plus OpenAI GPT‑4.1 to generate a full script as structured JSON, then returns the script to the caller and appends a summary log entry to Google Sheets. How it works Receives a POST webhook request containing the script topic, genre, tone, language, act count, and character count. Normalizes inputs by applying defaults, clamping acts to 1–5 and characters to 2–8, and adding request metadata like a request ID and timestamp. Classifies the genre in Python and prepares genre-specific guidance used to shape the script structure, then filters out requests marked as invalid. Sends the prepared parameters and genre guidance to OpenAI (GPT‑4.1) to generate a complete drama script as a single JSON object. Parses and validates the AI response as JSON, falls back to a safe wrapper if parsing fails, and enriches the result with counts for acts, scenes, and characters. Waits briefly and then returns the structured script to the webhook caller while also appending a summary row to a Google Sheets tab for tracking. Setup Configure the Webhook trigge
Send crowd safety SMS reroute alerts with OpenAI, Twilio, and Google Sheets
Quick overview This workflow ingests crowd density and incident reports via webhook or a 5‑minute schedule, assesses risk with Python thresholds, uses OpenAI to generate a short rerouting recommendation, then sends an SMS via Twilio and logs each alert to a Google Sheets heatmap tracker. How it works Triggers when a POST request hits the n8n webhook or every 5 minutes on a schedule. Normalizes incoming fields (location, crowd density, safety score, incidents, traveler contact, and preferences) and fills in defaults when values are missing. Calculates risk level in Python based on configurable thresholds for high density, incident count, and low safety score. Continues only for high-risk items and pauses briefly before the AI call. Uses OpenAI (via an AI agent) to generate a personalized rerouting suggestion under 150 words from the live data and traveler preferences. Sends the rerouting alert to the traveler via Twilio SMS and appends the alert details and reroute text to a Google Sheets log via the Google Sheets API. Setup Add an OpenAI API credential and select the model in the OpenAI Chat Model connection. Configure Twilio credentials (Account SID and Auth Token), replace YOUR_T
Handle theater ticket bookings with Anthropic, Google Sheets, SendGrid, and Twilio
Quick overview This workflow receives theater ticket booking requests via webhook, validates and normalizes them with Anthropic Claude, assigns seats and calculates pricing from a Google Sheets seat map, then logs the booking, sends confirmation via SendGrid email and Twilio SMS, and returns a confirmation JSON response. How it works Receives a booking request via an HTTP POST webhook and standardizes fields like show details, ticket count, and customer contact info. Uses Anthropic Claude to validate and normalize the booking request, then filters out requests with a low validation score. Retrieves the current SeatMap data from Google Sheets and assigns specific seat numbers if enough seats remain in the requested category. Calculates the final ticket total based on seat category pricing, bulk-discount rules, and tax. Uses Anthropic Claude to generate a personalized confirmation message, upsell line, and arrival instructions. Builds a final booking record (including a QR payload string), appends it to a Google Sheets tracker, sends the confirmation by SendGrid email and Twilio SMS, and responds to the webhook with the booking confirmation JSON. Setup Add an Anthropic API credential