n8n node for Twitch: Execute workflows on stream start, stream end, and new follows.
npm install @codelytv/n8n-nodes-twitch
Trigger workflows on stream start or stream end, search for Twitch streams detailsβ¦
Once installed, you will be able to add Twitch triggers and actions to your n8n workflows.
1. Search for Twitch node:

2. Select the desired action or trigger:

3. Parametrize it:

This node is in the process to be officially verified by n8n.
The installation process will be as simple as searching for "Twitch" in the nodes panel once we get that verification,
but in the meantime, you have several options that depend on how you use n8n.
We recommend checking out the updated n8n instructions
on how to install community nodes for possible updates to this process.
It is not possible to install unverified community nodes in n8n cloud (documentation).
Once we get that verification, you will be able to install this node following this step by step.
Follow the official instructions
specifying @codelytv/n8n-nodes-twitch as the node name to install:

This is the officially recommended way for self-hosted n8n instances running in queue mode (documentation.
Go to the folder where n8n is installed (if you are using the standard Docker installation, it will probably be:/usr/local/lib/node_modules/n8n) and install the package as any other npm package:
``bash`
npm i @codelytv/n8n-nodes-twitch
Dockerfile contents example for a custom image with this node added:
`dockerfile
ARG N8N_VERSION
FROM n8nio/n8n:${N8N_VERSION}
RUN if [ -z "$N8N_VERSION" ]; then echo "π₯ N8N_VERSION argument missing."; exit 1; fi && \
mkdir -p /home/node/.n8n/nodes && \
npm install --prefix /home/node/.n8n/nodes --production --silent @codelytv/n8n-nodes-twitch
`
Take into account that this option has a considerable downside:
The workflows you create will contain CUSTOM.twitchTrigger as the node type reference instead of @codelytv/n8n-nodes-twitch.twitchTrigger. However, it could be the best approach if you want a faster feedback loop while developing.probably are interested into exposing it with a tunnel using something like
Take into account that localhost will not be reachable from Twitch, so you cloudflared, or just expose a remote host to Twitch.
Docker Compose / Docker Swarm definition snippet:
``yaml
volumes:
n8n_data:
name: '{{.Service.Name}}_{{.Task.Slot}}'
services:
n8n-main:
volumes:
- n8n_data:/home/node/.n8n
- /home/codely/n8n-custom-nodes:/home/node/.n8n/custom
`
Deploy process:
`bash
CUSTOM_NODES_DIR="$HOME/n8n-custom-nodes"
mkdir -p "$CUSTOM_NODES_DIR"
docker run --rm \
--user "$(id -u):$(id -g)" \
-v "$CUSTOM_NODES_DIR":/data \
-w /data \
node:22-alpine \
sh -c "npm install @codelytv/n8n-nodes-twitch --production --silent"
docker stack deploy -c n8n-swarm.yml n8n
`
You will need to create a new Twitch application to get Client ID and Client Secret following these steps:
1. Go to the Twitch Developer Console.
2. Log in using your Twitch account credentials.
3. Click on the "+ Register Your Application" button.
4. Fill out the form as follows and click "Create":
- Name: Name your app (e.g., βn8nTwitchBotβ).
- OAuth Redirect URLs: Use a valid redirect URL.
Something like http://localhost:5678/rest/oauth2-credential/callback works.
We do not plan to display Twitch authentication to end users with Oauth.
We're only interested in getting the Client ID and Client Secret, so it's fine to specify a local URL.
- Category: Application Integration
- Client Type: Confidential
5. Get your credentials:
- Click on "Manage"
- Client ID: Visible right away.
- Client Secret: Click "New Secret" to generate one. Be sure to store this securely (it wonβt be shown again).
How to locally test this node (based on the official n8n guide):
1. Clone and move to the node development folder
`bash`
cd ~/Code/work/codely/public/
git clone git@github.com:CodelyTV/n8n-nodes-twitch.git
cd n8n-nodes-twitch
`
2. Build the node
bash`
npm run build
`
3. Create a npm global symlink to the locally installed package
bash`
npm link
`
4. Install n8n locally:
bash`
npm install n8n -g
`
5. Move to your n8n local installation
bash`
cd ~/.n8n/
`
6. Create a custom nodes folder
bash`
mkdir custom
cd custom
7. Link the node package to the symlink previously created
bash`
npm link @codelytv/n8n-nodes-twitch
`
8. Validate that the local n8n instance has the Twitch node pointing to the local folder
bash`
tree -L 3 -d
`
Expected output:
bash`
.
βββ node_modules
βββ @codelytv
βββ n8n-nodes-twitch -> ../../../../Code/work/codely/public/n8n-nodes-twitch
`
9. Run n8n
bash``
n8n start
10. Enjoy!
Publishing this package we are committing ourselves to the following code quality standards:
- π€ Respect Semantic Versioning: No breaking changes in patch or minor versions
- π€ No surprises in transitive dependencies: Use the bare minimum dependencies needed to meet the purpose
- π― One specific purpose to meet without having to carry a bunch of unnecessary other utilities
- π Well documented ReadMe showing how to install and use
- βοΈ License favoring Open Source and collaboration