AutomationFlowsSocial Media › Attach a Fixed Wouldliker Tiktok Sound to Any Downstream Content Workflow

Attach a Fixed Wouldliker Tiktok Sound to Any Downstream Content Workflow

Bywouldliker @wouldliker on n8n.io

This workflow adds one fixed Wouldliker TikTok sound to any downstream posting or content workflow. A webhook receives an optional . The workflow defaults to when no sound is provided. It fetches the official sound profile from . The final node returns a flat object with TikTok…

Webhook trigger★★☆☆☆ complexity7 nodesHTTP Request
Social Media Trigger: Webhook Nodes: 7 Complexity: ★★☆☆☆ Added:

This workflow corresponds to n8n.io template #15830 — 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 →

Download .json
{
  "meta": {
    "description": "Webhook \u2192 fixed Wouldliker sound profile \u2192 flat metadata for downstream publishers. Public proof is evidence of fit and momentum, not a guarantee of views.",
    "templateCredsSetupCompleted": true,
    "wouldliker_template_version": "fixed-1.0.0"
  },
  "name": "Wouldliker \u2014 fixed TikTok sound router",
  "tags": [
    {
      "name": "wouldliker"
    },
    {
      "name": "tiktok"
    },
    {
      "name": "autoposting"
    },
    {
      "name": "workflow-automation"
    },
    {
      "name": "sound-metadata"
    }
  ],
  "nodes": [
    {
      "id": "note-how-it-works",
      "name": "How it works",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        -220
      ],
      "parameters": {
        "width": 470,
        "height": 360,
        "content": "## How it works\nThis workflow adds one fixed Wouldliker TikTok sound to any downstream posting or content workflow.\n\n1. A webhook receives an optional `sound_slug`.\n2. The workflow defaults to `vlog` when no sound is provided.\n3. It fetches the official sound profile from `/api/sounds/{slug}`.\n4. The final node returns a flat object with TikTok sound URL, music ID, page URL, and boundary copy.\n\nUse this when another system already chooses, renders, uploads, or posts the video and only needs the official Wouldliker sound fields."
      },
      "typeVersion": 1
    },
    {
      "id": "note-setup",
      "name": "Set up steps",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        -220
      ],
      "parameters": {
        "width": 470,
        "height": 360,
        "content": "## Set up steps\nSetup time: about 3 minutes.\n\n1. Import this template.\n2. Execute the workflow once to enable the test webhook.\n3. Send a POST request with `sound_slug`, or omit it to use `vlog`.\n4. Connect the final output to your own uploader, scheduler, browser automation, CMS, or content queue.\n\nValid slugs: `vlog`, `product-reveal`, `core`, `presentation`, `affirmation`, `hala-madrid`, `barcelona`.\n\nNo credentials or API keys are required."
      },
      "typeVersion": 1
    },
    {
      "id": "note-boundaries",
      "name": "Boundaries",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1180,
        -220
      ],
      "parameters": {
        "width": 470,
        "height": 320,
        "content": "## Boundaries\nThis workflow prepares sound metadata only.\n\n- It does not auto-post to TikTok.\n- It does not download or redistribute audio.\n- It does not guarantee views.\n- A downstream publisher must support attaching the returned `tiktok_sound_url` or `tiktok_music_id` for official TikTok sound usage.\n- If the publisher only uploads an MP4, official sound usage may not be counted by TikTok."
      },
      "typeVersion": 1
    },
    {
      "id": "trigger",
      "name": "Webhook: fixed sound in",
      "type": "n8n-nodes-base.webhook",
      "position": [
        240,
        320
      ],
      "parameters": {
        "path": "wouldliker-fixed-sound",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "typeVersion": 1
    },
    {
      "id": "normalize",
      "name": "Normalize sound slug",
      "type": "n8n-nodes-base.set",
      "position": [
        500,
        320
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "sound_slug",
              "value": "={{ $json.body.sound_slug || $json.body.sound || 'vlog' }}"
            },
            {
              "name": "source_id",
              "value": "={{ $json.body.source_id || $json.body.video_id || '' }}"
            },
            {
              "name": "copy_boundary",
              "value": "Public proof is evidence of fit and momentum, not a guarantee of views."
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "sound-profile",
      "name": "Wouldliker: get sound profile",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        760,
        320
      ],
      "parameters": {
        "url": "={{ 'https://wouldliker.com/api/sounds/' + $json.sound_slug }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "shape",
      "name": "Shape sound metadata",
      "type": "n8n-nodes-base.set",
      "position": [
        1020,
        320
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "source_id",
              "value": "={{ $node['Normalize sound slug'].json.source_id }}"
            },
            {
              "name": "sound_name",
              "value": "={{ $json.sound.name }}"
            },
            {
              "name": "sound_slug",
              "value": "={{ $json.sound.sound_slug }}"
            },
            {
              "name": "tiktok_sound_url",
              "value": "={{ $json.sound.tiktok_sound_url }}"
            },
            {
              "name": "tiktok_music_id",
              "value": "={{ $json.sound.tiktok_music_id }}"
            },
            {
              "name": "page_url",
              "value": "={{ $json.sound.page_url }}"
            },
            {
              "name": "saturation_state",
              "value": "={{ $json.sound.saturation_state }}"
            },
            {
              "name": "copy_boundary",
              "value": "={{ $json.copy_boundary || $node['Normalize sound slug'].json.copy_boundary }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "wouldliker-fixed-v1.0.0",
  "connections": {
    "Normalize sound slug": {
      "main": [
        [
          {
            "node": "Wouldliker: get sound profile",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook: fixed sound in": {
      "main": [
        [
          {
            "node": "Normalize sound slug",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wouldliker: get sound profile": {
      "main": [
        [
          {
            "node": "Shape sound metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow adds one fixed Wouldliker TikTok sound to any downstream posting or content workflow. A webhook receives an optional . The workflow defaults to when no sound is provided. It fetches the official sound profile from . The final node returns a flat object with TikTok…

Source: https://n8n.io/workflows/15830/ — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

This workflow turns a product or short-form clip description into a publishable Wouldliker sound pack. A webhook receives the clip or product description. The workflow normalizes the input into Wouldl

HTTP Request
Social Media

YouTube Newsletter Generator. Uses httpRequest. Webhook trigger; 5 nodes.

HTTP Request
Social Media

Agent Query Workflow (Prototype). Uses httpRequest. Webhook trigger; 3 nodes.

HTTP Request
Social Media

Instagram - Fluxo de mensagens. Uses rabbitmq, rabbitmqTrigger, googleSheets, httpRequest. Webhook trigger; 74 nodes.

Rabbitmq, Rabbitmq Trigger, Google Sheets +1
Social Media

This workflow receives a webhook request, uses AtlasCloud (GPT Image 2 and HappyHorse) to turn a profile image into a short vertical video, then publishes the reel to TikTok and Instagram via Blotato.

HTTP Request, @Blotato/N8N Nodes Blotato, Stop And Error