Back to Catalog

Export new deals from HubSpot to Slack and Airtable

LorenaLorena
1818 views
2/3/2026
Official Page

This workflow is triggered when a new deal is created in HubSpot. Then, it processes the deal based on its value and stage.

The first branching follows three cases:

  • If the deal is closed and won, a message is sent in a Slack channel, so that the whole team can celebrate the success.
  • If a presentation has been scheduled for the deal, then a Google Slides presentation template is created.
  • If the deal is closed and lost, the deal’s details are added to an Airtable table. From here, you can analyze the data to get insights into what and why certain deals don’t get closed.

The second branching follows two cases:

  • If the deal is for a new business and has a value above 500, a high-priority ticket assigned to an experienced team member is created in HubSpot
  • If the deal is for an existing business and has a value below 500, a low-priority ticket is created.

workflow-screenshot

HubSpot New Deal to Slack and Airtable Workflow

This n8n workflow automates the process of notifying a Slack channel and logging new deals in Airtable whenever a new deal is created in HubSpot. It also includes a conditional check to ensure only "Closed Won" deals are processed for a Google Slides update (though the Google Slides node is not fully connected in the provided JSON).

What it does

This workflow streamlines the communication and data logging for new HubSpot deals:

  1. Monitors HubSpot for New Deals: It triggers whenever a new deal is created in HubSpot.
  2. Formats Deal Data: It prepares the relevant deal information for subsequent actions.
  3. Notifies Slack Channel: It sends a message to a specified Slack channel with details of the new deal.
  4. Logs to Airtable: It creates a new record in an Airtable base with the deal's information.
  5. Conditionally Processes "Closed Won" Deals: It checks if the new deal's stage is "Closed Won".
    • If "Closed Won", it would ideally update a Google Slides presentation (though this part of the workflow is currently disconnected).

Prerequisites/Requirements

To use this workflow, you will need:

  • HubSpot Account: With API access for the HubSpot Trigger node.
  • Slack Account: With a Slack App/Bot configured to post messages to a channel.
  • Airtable Account: With an Airtable Base and Table set up to receive deal data.
  • n8n Instance: To host and run the workflow.
  • (Optional) Google Slides Account: If you intend to connect and utilize the Google Slides node for "Closed Won" deals.

Setup/Usage

  1. Import the Workflow:
    • Copy the provided JSON code.
    • In your n8n instance, go to "Workflows" and click "New".
    • Click the "Import from JSON" button and paste the workflow JSON.
  2. Configure Credentials:
    • HubSpot Trigger (Node 303): Set up your HubSpot API credentials.
    • Slack (Node 40): Set up your Slack API credentials (usually a Bot User OAuth Token).
    • Airtable (Node 2): Set up your Airtable API credentials.
    • (Optional) Google Slides (Node 478): If you plan to use it, set up your Google Sheets/Slides API credentials.
  3. Configure Nodes:
    • HubSpot Trigger (Node 303): Ensure it's configured to listen for "Deal" object type and "Deal created" event.
    • Edit Fields (Node 38): This node is used for data transformation. Review its configuration to ensure it extracts and formats the HubSpot deal data as needed for Slack and Airtable. You might want to map specific HubSpot deal properties to new field names or combine them.
    • Slack (Node 40):
      • Specify the Channel ID where notifications should be posted.
      • Customize the Text message to include relevant deal details using expressions (e.g., New deal created: {{ $json.dealName }} for {{ $json.companyName }}).
    • Airtable (Node 2):
      • Select your Base ID and Table Name.
      • Map the fields from the previous "Edit Fields" node to the corresponding columns in your Airtable table.
    • Switch (Node 112): This node checks the deal stage. Ensure the condition accurately targets "Closed Won" deals using the correct HubSpot property name (e.g., {{ $json.dealStage === 'Closed Won' }}).
    • (Optional) Google Slides (Node 478): If you connect this node, configure it to update your desired Google Slides presentation with information from "Closed Won" deals.
  4. Activate the Workflow: Once all credentials and node settings are configured, activate the workflow in n8n.

Now, whenever a new deal is created in HubSpot, this workflow will automatically post a notification to Slack and add a record to Airtable. "Closed Won" deals will also be routed for further processing.

Related Templates

Automated YouTube video uploads with 12h interval scheduling in JST

This workflow automates a batch upload of multiple videos to YouTube, spacing each upload 12 hours apart in Japan Standard Time (UTC+9) and automatically adding them to a playlist. ⚙️ Workflow Logic Manual Trigger — Starts the workflow manually. List Video Files — Uses a shell command to find all .mp4 files under the specified directory (/opt/downloads/单词卡/A1-A2). Sort and Generate Items — Sorts videos by day number (dayXX) extracted from filenames and assigns a sequential order value. Calculate Publish Schedule (+12h Interval) — Computes the next rounded JST hour plus a configurable buffer (default 30 min). Staggers each video’s scheduled time by order × 12 hours. Converts JST back to UTC for YouTube’s publishAt field. Split in Batches (1 per video) — Iterates over each video item. Read Video File — Loads the corresponding video from disk. Upload to YouTube (Scheduled) — Uploads the video privately with the computed publishAtUtc. Add to Playlist — Adds the newly uploaded video to the target playlist. 🕒 Highlights Timezone-safe: Pure UTC ↔ JST conversion avoids double-offset errors. Sequential scheduling: Ensures each upload is 12 hours apart to prevent clustering. Customizable: Change SPANHOURS, BUFFERMIN, or directory paths easily. Retry-ready: Each upload and playlist step has retry logic to handle transient errors. 💡 Typical Use Cases Multi-part educational video series (e.g., A1–A2 English learning). Regular content release cadence without manual scheduling. Automated YouTube publishing pipelines for pre-produced content. --- Author: Zane Category: Automation / YouTube / Scheduler Timezone: JST (UTC+09:00)

ZaneBy Zane
226

Detect holiday conflicts & suggest meeting reschedules with Google Calendar and Slack

Who’s it for Remote and distributed teams that schedule across time zones and want to avoid meetings landing on public holidays—PMs, CS/AM teams, and ops leads who own cross-regional calendars. What it does / How it works The workflow checks next week’s Google Calendar events, compares event dates against public holidays for selected country codes, and produces a single Slack digest with any conflicts plus suggested alternative dates. Core steps: Workflow Configuration (Set) → Fetch Public Holidays (via a public holiday API such as Calendarific/Nager.Date) → Get Next Week Calendar Events (Google Calendar) → Detect Holiday Conflicts (compare dates) → Generate Reschedule Suggestions (find nearest business day that isn’t a holiday/weekend) → Format Slack Digest → Post Slack Digest. How to set up Open Workflow Configuration (Set) and edit: countryCodes, calendarId, slackChannel, nextWeekStart, nextWeekEnd. Connect your own Google Calendar and Slack credentials in n8n (no hardcoded keys). (Optional) Adjust the Trigger to run daily or only on Mondays. Requirements n8n (Cloud or self-hosted) Google Calendar read access to the target calendar Slack app with permission to post to the chosen channel A public-holiday API (no secrets needed for Nager.Date; Calendarific requires an API key) How to customize the workflow Time window: Change nextWeekStart/End to scan a different period. Holiday sources: Add or swap APIs; merge multiple regions. Suggestion logic: Tweak the look-ahead window or rules (e.g., skip Fridays). Output: Post per-calendar messages, DM owners, or create tentative reschedule events automatically.

Takuya OjimaBy Takuya Ojima
70

Generate Funny AI Videos with Sora 2 and Auto-Publish to TikTok

This automation creates a fully integrated pipeline to generate AI-powered videos, store them, and publish them on TikTok — all automatically. It connects OpenAI Sora 2, and Postiz (for TikTok publishing) to streamline content creation. --- Key Benefits ✅ Full Automation – From text prompt to TikTok upload, everything happens automatically with no manual intervention once set up. ✅ Centralized Control – Google Sheets acts as a simple dashboard to manage prompts, durations, and generated results. ✅ AI-Powered Creativity – Uses OpenAI Sora 2 for realistic video generation and GPT-5 for optimized titles. ✅ Social Media Integration – Seamlessly posts videos to TikTok via Postiz, ready for your audience. ✅ Scalable & Customizable – Can easily be extended to other platforms like YouTube, Instagram, or LinkedIn. ✅ Time-Saving – Eliminates repetitive steps like manual video uploads or caption writing. --- How it works This workflow automates the end-to-end process of generating AI videos and publishing them to TikTok. It is triggered either manually or on a recurring schedule. Trigger & Data Fetch: The workflow starts by checking a specified Form for new entries. It looks for rows where a video has been requested (a "PROMPT" is filled) but not yet generated (the "VIDEO" column is empty). AI Video Generation: For each new prompt found, the workflow sends a request to the Fal.ai Sora 2 model to generate a video. It then enters a polling loop, repeatedly checking the status of the generation request every 60 seconds until the video is "COMPLETED". Post-Processing & Upload: Once the video is ready, the workflow performs several actions in parallel: Fetch Video & Store: It retrieves the final video URL, downloads the video file Generate Title: It uses the OpenAI GPT-4o-mini model to analyze the original prompt and generate an optimized, engaging title for the video. Publish to TikTok: The video file is uploaded to Postiz, a social media scheduling tool, which then automatically publishes it to a connected TikTok channel, using the AI-generated title as the post's caption. --- Set up steps To make this workflow functional, you need to complete the following configuration steps: Prepare the Google Sheet: Create a Form with at least "PROMPT", "DURATION", and "VIDEO" fields. Configure Fal.ai for Video Generation: Create an account at Fal.ai and obtain your API key. In both the "Create Video" and "Get status" HTTP Request nodes, set up the "Header Auth" credential. Set the Name to Authorization and the Value to Key YOURAPIKEY. Set up TikTok Publishing via Postiz: Create an account on Postiz and connect your TikTok account to get a Channel ID. Obtain your Postiz API key. In the "Upload Video to Postiz" and "TikTok" (Postiz) nodes, configure the API credentials. In the "TikTok" node, replace the placeholder "XXX" in the integrationId field with your actual TikTok Channel ID from Postiz. (Optional) Configure AI Title Generation: The "Generate title" node uses OpenAI. Ensure you have valid OpenAI API credentials configured in n8n for this node to work. --- Need help customizing? Contact me for consulting and support or add me on Linkedin. Header 2

DavideBy Davide
24772