n8n Integration

CodivUpload + n8n — Automate Social Media Publishing

Connect CodivUpload to n8n using our REST API. No native node needed — just an HTTP Request node with your API key and you can publish to 12 platforms from any workflow trigger.

How it works

Three steps from zero to publishing.

01

Get your API key

Dashboard → Settings → API Keys → Generate. Copy the key — it won't be shown again.

02

Add an HTTP Request node

In your n8n workflow, add an HTTP Request node. No CodivUpload node is needed — this is intentional.

03

Configure and connect

Method: POST, URL: api.codivupload.com/v1/posts, Auth: Bearer token. Pass your post payload as JSON body.

Example Workflow

Google Sheets row added → publish to 12 platforms

A content team adds a row to Google Sheets with the video URL, caption, and target platforms. n8n detects the new row, fetches the file from Google Drive, then sends an HTTP Request to CodivUpload — which handles the queue, token refresh, and platform delivery.

Google Sheets TriggerGoogle Drive (fetch)HTTP RequestCodivUpload API12 platforms
HTTP Request Config

Exact n8n node configuration

Copy this into your HTTP Request node. Map the body fields to n8n expressions to pull values from previous nodes dynamically.

n8n HTTP Request
Method: POST
URL: https://api.codivupload.com/v1/posts

Headers:
  Authorization: Bearer YOUR_API_KEY
  Content-Type: application/json

Body (JSON):
{
  "profile_name": "my-brand",
  "post_type": "video",
  "platforms": ["tiktok", "instagram", "youtube"],
  "media_urls": ["https://cdn.example.com/video.mp4"],
  "description": "Automated from n8n!",
  "youtube_type": "shorts"}

Why HTTP Request is actually better

Not having a native node is a feature, not a limitation.

Works today, not when a module ships

Native nodes wait for approval and maintenance cycles. HTTP Request is available in every n8n version.

All 50+ API parameters, exposed

Native modules often expose 8-10 fields. Via HTTP Request you can set tiktok_privacy_level, youtube_type, instagram_location_id — every field.

Same pattern across every tool

Once you know the HTTP Request config for n8n, the same logic applies to Make, Zapier, and any other HTTP-capable tool.

No version lock-in

CodivUpload API changes are backwards-compatible. Your workflow keeps working after every CodivUpload release.

Coming soon: A native n8n community node is on our roadmap. In the meantime, the HTTP Request node gives you full API access with zero limitations — and you won't need to migrate when the native node arrives.

Deep Dive

n8n + CodivUpload: How It Works

n8n is a workflow automation platform that connects apps through a visual node editor. CodivUpload integrates with n8n through its HTTP Request node — not a native integration, and deliberately so. The HTTP Request node is a core n8n component available in every version, including the self-hosted community edition and n8n Cloud.

The connection pattern is straightforward: any n8n trigger node (webhook, schedule, app event) feeds data into an HTTP Request node configured to call the CodivUpload REST API at POST https://api.codivupload.com/v1/posts. CodivUpload then handles the heavy lifting — queueing the post via pgmq, refreshing expired OAuth tokens for each connected platform, and delivering content to up to 10 social networks simultaneously.

You can use any trigger as the starting point: a Cron node that fires every morning at 9 AM, a Webhook node that listens for external events, an RSS Feed node that watches for new articles, or app-specific triggers like Google Sheets, Notion, or Slack. The data flows through optional transformation nodes (Set, IF, Function) before reaching the HTTP Request node that calls CodivUpload. This means your publishing logic can include conditional branching — for example, only posting to LinkedIn on weekdays, or only including TikTok when the media type is video.

Because CodivUpload's API accepts platform-specific overrides (like tiktok_privacy_level, youtube_type, and instagram_location_id), you can wire these fields to n8n expressions that pull values dynamically from upstream nodes. A spreadsheet column value can control whether a video goes to YouTube as a Short or a regular upload — without any code.

Example Workflow

Auto-Publish Blog Posts to 12 Platforms

Every time a new blog post goes live on WordPress, n8n picks it up and distributes it across your social channels automatically. Here is how the workflow operates end-to-end:

1

WordPress publishes a new post. The n8n Webhook node receives the WordPress webhook payload containing the post title, excerpt, featured image URL, and permalink.

2

n8n transforms the data. A Set node formats the caption using the post title and excerpt, maps the featured image to media_urls, and selects target platforms based on the post category.

3

HTTP Request fires to CodivUpload. The node sends a POST to api.codivupload.com/v1/posts with the formatted JSON body. CodivUpload queues the post and handles token refresh for each platform.

4

Content goes live on 12 platforms. Within seconds, the blog post excerpt and featured image appear as native posts on Twitter/X, Instagram, Facebook, LinkedIn, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, and Snapchat.

WordPress WebhookSet (transform)HTTP RequestCodivUpload API12 platforms
Step-by-Step

Setting Up the HTTP Request Node

Here is the exact configuration for your n8n HTTP Request node. This works on both n8n Cloud and self-hosted instances.

Method & URL

Set the method to POST and the URL to https://api.codivupload.com/v1/posts. This is the single endpoint for creating posts across all 12 platforms. n8n will show the URL field at the top of the HTTP Request node settings panel.

Authentication Headers

Under the Headers tab, add two entries. First: Authorization with value Bearer YOUR_API_KEY (replace with the key from your CodivUpload dashboard). Second: Content-Type with value application/json. For better security, store your API key in n8n credentials (Generic Credential Type) rather than hardcoding it in the node.

JSON Body

Switch the body content type to JSON and set the body to use n8n expressions for dynamic values. Required fields: profile_name, post_type, platforms, and description. Optional fields include media_urls, scheduled_at, and any platform-specific override like youtube_type or tiktok_privacy_level. Use {{ $json.fieldName }} expressions to pull values from previous nodes.

Error Handling & Retries

Enable Retry on Fail in the node settings with a max of 3 retries and a 5-second wait between attempts. This handles transient network issues gracefully. If the API returns a 429 (rate limit), increase the wait time to 10 seconds. For production workflows, add an Error Trigger node to send Slack or email notifications when a post fails after all retries.

Ready to automate your publishing workflow?

Free plan: 2 profiles, 10 uploads/month. No credit card required.

Get API Key — Start Free

n8n + CodivUpload questions