software

MetaLink - meta Webhook And Auth Aggregator

If you build Messenger automation for clients, you know the pain: for every new client, you need a new Facebook app, a new app review, new permissions, and another thing to keep secure. It’s slow, repetitive, and drains your energy. Not anymore.

Today, I’m releasing a free tool that kills that problem forever.

The Problem: App Sprawl is Killing Your Speed

As a developer or agency owner, when you take on a client for Messenger automation (chatbots, lead gen, n8n workflows), here’s the usual drill:

  1. Create a new Facebook App in Meta for Developers.
  2. Configure Messenger settings, webhooks, and permissions.
  3. Go through app review (again) if you need advanced permissions.
  4. Manually guide each client through connecting their Page.
  5. Maintain, secure, and monitor multiple apps.

If you have 10 clients, you might have 10 apps. Each one is a maintenance burden, a security surface, and a time sink. You spend more time managing apps than building automations. That’s backward.

The Solution: A Single App That Handles All Your Clients

The Meta Webhook Aggregator by ElTanvir changes the model entirely. You create one Facebook app. This tool then lets you add unlimited clients under that single app, each with their own webhook endpoint (your n8n workflow URL, Make webhook, custom endpoint — whatever you use).

Here’s the magic:

  • You add a client name and a webhook URL inside the aggregator.
  • It gives you a unique onboarding link for that client.
  • You send the link to your client.
  • They click it, authorize their Facebook Page, and it’s bound to your app automatically.
  • Incoming messages from that Page go straight to their specific webhook. No data mix-ups.

How It Works

Grab The Docker Compose from Below

Docker Compose
services:
  metalink:
    image: eltanvir/metalink:latest
    container_name: metalink
    restart: unless-stopped
    environment:
      - APP_ENV=production
      - IN_DOCKER=true
      - ADMIN_USERNAME=username_for_login
      - ADMIN_PASSWORD=password_for_login
      - TOKEN_SYMMETRIC_KEY=32_character_random_string_generate_from_any_password_generator
    volumes:
      - metalink_data:/data
    labels:
      - traefik.enable=true
      - traefik.http.routers.metalink.rule=Host(`metalink.yourdomain.com`)
      - traefik.http.routers.metalink.entrypoints=websecure
      - traefik.http.routers.metalink.tls.certresolver=letsencrypt
      - traefik.http.services.metalink.loadbalancer.server.port=8080

volumes:
  metalink_data:

Deploy

Deploy In Hostinger

Add a client

Enter a name and the webhook URL where their Facebook messages should flow (e.g., your n8n production workflow).

your client clicks, logs in with Facebook, selects the Page, and you’re live.

IMPORTANT
For this to work, you must change the following parameters when deploying:
ADMIN_USERNAME : the user Name you Would use to Login
ADMIN_PASSWORD : Secure Login password
TOKEN_SYMMETRIC_KEY : 32 character Long secure String you Can Generate From Any Online Password Generator aslong is 32 Character long cant be more Cant be less. Exactly 32 Character

- traefik.http.routers.metalink.rule=Host(metalink.yourdomain.com) : This Super Important. this Where you Configure your Domain. Don't Change "traefik.http.routers.metalink.rule=Host(`" this Part. keep it as it is. replace metalink.yourdomain.com with you Domain or Subdomain. make Sure you are Pointing you Domain to Hostinger VPS