This workflow corresponds to n8n.io template #4397 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Post Threads to Mastodon",
"nodes": [
{
"id": "30f525e7-1131-4cff-86d8-348505da9fb5",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
-180
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 23,
"triggerAtMinute": 59
}
]
}
},
"typeVersion": 1.2
},
{
"id": "99773c0b-3d32-4819-99d2-03e3d6638813",
"name": "Get statuses from threads.net",
"type": "n8n-nodes-base.httpRequest",
"position": [
220,
-180
],
"parameters": {
"url": "https://mastodon.social/api/v1/accounts/<ACCOUNT_ID>/statuses",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "c842ba51-42bf-466b-8128-aa8056c082a3",
"name": "Filter today",
"type": "n8n-nodes-base.filter",
"position": [
440,
-180
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2efb4760-9294-496b-aca7-4e6abb8dcf34",
"operator": {
"type": "dateTime",
"operation": "afterOrEquals"
},
"leftValue": "={{ $json.created_at }}",
"rightValue": "={{ new Date().toISOString().split('T')[0] }}\n"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c6e8aa82-0e9c-42a3-b34a-ea130dbdaad7",
"name": "Boost statuses",
"type": "n8n-nodes-base.httpRequest",
"position": [
660,
-180
],
"parameters": {
"url": "=https://mastodon.social/api/v1/statuses/{{ $json.id }}/reblog",
"options": {},
"requestMethod": "POST",
"authentication": "headerAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"connections": {
"Filter today": {
"main": [
[
{
"node": "Boost statuses",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get statuses from threads.net",
"type": "main",
"index": 0
}
]
]
},
"Get statuses from threads.net": {
"main": [
[
{
"node": "Filter today",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
httpHeaderAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This template is designed for individuals and businesses who want to maintain a consistent presence on the Fediverse while also posting on Threads or managing multiple Fediverse profiles. By automating the process of resharing statuses or posts, this workflow saves time and…
Source: https://n8n.io/workflows/4397/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Competitor Monitor. Uses schedule, httpRequest, telegram, sendGrid. Scheduled trigger; 10 nodes.
[](https://youtu.be/mMEX4Zsz4XY)
YOUR_ID 4. Uses gmail, googleDrive, googleSheets, httpRequest. Scheduled trigger; 53 nodes.
Development teams using Claude Code who want a chat-ops interface for project management. Instead of SSH-ing into a server to run Claude, your whole team interacts with it through a Matrix chat room —
Instead of providing a routine check, it focuses on significant movements by: Sending a Slack alert only if a query crosses a defined movement threshold. Emailing a structured report with the Top 25 i