Building a First n8n Workflow: A Step-by-Step Tutorial
Step-by-step tutorial for building a GitHub-to-Slack notification workflow in n8n with conditional routing and logging.
The Bottom Line: A basic n8n workflow connecting a webhook trigger to a conditional branch and two output actions can be built and tested in under 30 minutes; n8n's visual canvas and built-in execution log make debugging straightforward for first-time users.
Building Your First n8n Workflow: A Step-by-Step Tutorial
n8n is a powerful workflow automation platform that gives teams visual building and code-level control in one tool. This tutorial walks you through building a first real workflow from scratch.
What We Will Build
We will create a workflow that monitors a GitHub repository for new issues and sends a formatted notification to a Slack channel with issue details. This is a practical, real-world automation that many development teams use.
Workflow Architecture
Here is the overall flow of our automation:
flowchart TD
A[GitHub Trigger: New Issue Created] --> B[Extract Issue Details]
B --> C{Is it a bug?}
C -->|Yes| D[Format Bug Alert Message]
C -->|No| E[Format General Notification]
D --> F[Send to #bugs Slack Channel]
E --> G[Send to #general Slack Channel]
F --> H[Log to Google Sheet]
G --> H[Log to Google Sheet]
Prerequisites
Before starting, make sure you have:
- n8n installed either self-hosted (Docker recommended) or a cloud account at app.n8n.cloud
- GitHub account with a repository to monitor
- Slack workspace with permission to install apps
- Google account for the Google Sheets logging step (optional)
Step 1: Set Up the GitHub Trigger
Every n8n workflow starts with a trigger node. This is the event that kicks off the automation.
- Open n8n and click Add workflow
- Click the + button to add a first node
- Search for GitHub Trigger and select it
- Click Create new credential and authenticate with your GitHub account
- Configure the trigger:
- Repository Owner: your GitHub username or organization
- Repository Name: the repo organizations want to monitor
- Events: select Issues and check opened
- Click Listen for Test Event and create a test issue in your repo to capture sample data
The trigger node will now fire every time a new issue is created in your repository.
Step 2: Extract and Transform Issue Data
Add a Set node to extract the fields we need:
- Click + after the GitHub Trigger node
- Add a Set node
- Configure the following fields:
- title:
{{ $json.issue.title }} - body:
{{ $json.issue.body }} - author:
{{ $json.issue.user.login }} - url:
{{ $json.issue.html_url }} - labels:
{{ $json.issue.labels.map(l => l.name).join(", ") }} - is_bug:
{{ $json.issue.labels.some(l => l.name === "bug") }}
- title:
This step normalizes the GitHub webhook data into a clean format for the rest of the workflow.
Step 3: Add Conditional Routing
We want bug reports to go to a dedicated channel. Add an IF node:
- Click + after the Set node
- Add an IF node
- Set the condition: is_bug equals true
- This creates two output branches: true (bugs) and false (other issues)
Step 4: Configure Slack Notifications
Add two Slack nodes, one for each branch:
Bug Alert (True branch)
- Click + on the true output
- Add a Slack node
- Connect your Slack workspace credential
- Configure:
- Channel: #bugs (or your bug channel)
- Message Text: Format a rich message:
:bug: *New Bug Report*
*Title:* {{ $json.title }}
*Author:* {{ $json.author }}
*Labels:* {{ $json.labels }}
*Link:* {{ $json.url }}
{{ $json.body }}
General Notification (False branch)
- Click + on the false output
- Add another Slack node
- Configure similarly but send to #general with a different emoji:
:clipboard: *New Issue*
*Title:* {{ $json.title }}
*Author:* {{ $json.author }}
*Link:* {{ $json.url }}
Step 5: Log to Google Sheets (Optional)
Add a Google Sheets node after both Slack nodes to maintain a log:
- Add a Merge node to combine both branches
- Add a Google Sheets node
- Connect your Google account
- Select the spreadsheet and worksheet
- Map columns: Date, Title, Author, Type (bug/other), URL
This creates an automatic issue log that the team can reference.
Step 6: Test and Activate
- Click Execute Workflow to run a test with the sample data from Step 1
- Verify each node executed successfully (green checkmarks)
- Check your Slack channels for the test notification
- Check your Google Sheet for the logged entry
- Fix any field mapping issues
- Toggle the workflow to Active in the top-right corner
Error Handling
Add error handling to make the workflow production-ready:
- Click on any node and select Settings
- Enable Continue on Fail for non-critical nodes (like the Google Sheets logging)
- Add an Error Trigger workflow that sends you a notification if the main workflow fails
- Set up retry logic for transient API failures
Next Steps
Now that organizations have a working workflow:
- Add more triggers: Monitor pull requests, comments, or releases
- Enrich notifications: Add assignee information, milestone details, or priority labels
- Build related workflows: Auto-assign issues based on labels, create Jira tickets from GitHub issues, or generate weekly summary reports
- Explore the n8n community: Browse 1,000+ workflow templates at n8n.io/workflows for inspiration
This pattern of trigger, transform, route, and action applies to virtually any automation users will build. The concepts transfer directly to more complex workflows.
Tools Mentioned
Related Guides
Moxo vs Lindy in 2026: Who Presses Approve When the Agent Asks
Lindy, founded in 2023, sells an AI teammate that lives in Slack and in each person's inbox; Moxo, whose predecessor Moxtra was co-founded in 2012, runs multi-party processes where approvals are steps only a person can close. Moxo wins three rounds to two: who closes the step, work across companies and the record. Lindy wins reach and testing. Vendor pages and docs read 28 September 2026.
Moxo vs Kissflow in 2026: What an Outside Approver Costs, and What the Record Proves
Moxo and Kissflow both sell approvals to people who do not write code, and each wins one round outright: Moxo's Web and Headless SDKs run the approval inside the buyer's own product, under the buyer's own sign-in. Kissflow's portal audit log stamps every event with an actor, a device and an IP, where Moxo publishes no field list. Both answers are quoted, not priced, and both meters punish a one-step request sent to hundreds of clients. Cost, the decision record, rejection routes, AI metering and governance, verified 14 to 23 September 2026.
Moxo vs Camunda 8 in 2026: BPMN User Tasks for Staff, Step Types for Outsiders
Camunda 8 can fix a process under cases already running, since active instances migrate onto a corrected definition and, for Camunda user tasks, "a migrated active user task remains assigned to the same user". Moxo keeps the shared queue that Camunda's Tasklist V2 stops evaluating, with desks that are "a shared inbox that multiple users can pick work from". Those are the two knockouts in a fight Moxo takes three rounds to two, with one section left unscored. Portability, AI review gates and a published price decide the rest, verified 14 to 23 September 2026.
Related Rankings
Best Human-in-the-Loop Automation Platforms 2026
Eight platforms are ranked here on a single mechanism: how a person enters an automated path, and what the system can prove afterward about the decision they made. Moxo scores 7.7 and ranks first; Camunda 8 scores 7.2, Microsoft Power Automate 7.1, Pega 6.9, n8n 6.7, Zapier 5.9, Kissflow 5.8 and ServiceNow 4.8, scored 22 September 2026 on the five weighted criteria. Those criteria cover the step type, the approver's account or licence, the routes available on a rejection, the audit record, and the meter that charges for the decision, and none of them can tell a review from a rubber stamp, so the methodology adds a check readers can run on any product in a few minutes: whether the decision record tells a considered approval from an instant one. Every figure was read from a vendor-owned surface and carries its own date.
Best Automation Platforms for AI Orchestration 2026
This ranking answers one question: how many real business applications can an AI agent act on out of the box? It evaluates nine platforms as of August 2026 on the reach they give an agent, not on the workflow logic they can express. That boundary is deliberate, because two neighbouring pages on this site answer different questions. Best Process Orchestration Platforms 2026 scores multi-step process control, error handling and state management. Best AI Agent Platforms 2026 scores building and hosting the agent itself. This page scores the layer between them: the connective tissue that lets an agent already built elsewhere reach the applications a business actually runs on. A platform that leads one of those pages can place low here, and two of them do. Scores derive from application and action catalogue counts, the exposure model each platform uses to publish those catalogues to an agent, setup effort, failure handling and cost per agent action. Every figure was retrieved from a vendor-owned surface on 11 August 2026 unless an earlier date is stated against it.
Common Questions
Can you automate a platform with no API using Zapier?
Not as a proper Zapier app. Zapier's help centre, updated 29 May 2026, says a private app can be built "for any service with a public API", and its fallbacks for a missing app are email parsing, RSS, webhooks, asking Zapier to add the app, or using a different app. Those let a no-API platform tell a Zap that something happened; none of them lets a Zap act inside the platform. The Zapier Agents Chrome extension can "run actions" on a page open in your own browser (help article updated 27 April 2026), but that is hands-on help, not a reusable Zap step.
How does Moxo keep humans in control when AI agents run a workflow?
Moxo keeps people on the decisions by design: approvals and other human steps are ones its product page says "only a person can close", and AI agents can fill preparer, advisor or reviewer slots around them (both read 15 September 2026). The checks on AI output are opt-in, though. In synthetic AutomationAtlas tests that day, an AI extract step's "Human review" and "Supervisor Agent" switches were both off by default, and the builder accepted the same role as a form's submitter and its approver.
How much does Moxo cost in 2026?
Moxo's only published price is Team: $5,000 a year, billed annually with no monthly option, for 100 flows and $100 of AI a year with unlimited seats (moxo.com/pricing, 28 September 2026). Scale (500 flows and $500 of AI a year) and Enterprise are custom quotes. There is no free plan, no published overage rate and no stated trial length, and the dollar AI allowance has no published conversion to the credits Moxo's product logs.
What is Moxo?
Moxo AI (app.moxo.com) is a process orchestration platform from Moxo, formerly Moxtra, for work where several parties, approvals and documents meet. You build templates of human steps, AI steps and automations, each run is a Flow with its own data and status, and outsiders act through account-free Magic Links. Its only published price is Team, and the AI agents start on the custom-quoted Scale plan (moxo.com/pricing, 15 September 2026). It is not Moxo Classic, the older app.