ernestdefoe/connect

Automation for Flarum 2 — an embedded Zapier experience in your admin, an in-app if-this-then-that Rules engine, outgoing webhooks, and a scoped REST API. Works with Zapier, Make, IFTTT, n8n and anything that speaks webhooks.

Maintainers

Package info

github.com/ernestdefoe/connect

Type:flarum-extension

pkg:composer/ernestdefoe/connect

Transparency log

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-07-24 01:01 UTC

This package is auto-updated.

Last update: 2026-07-24 01:04:43 UTC


README

Automation for your forum. Connect gives Flarum 2 outgoing webhooks, a scoped REST API, and an in-app if-this-then-that Rules engine. Wire your community up to Zapier, Make, IFTTT, n8n — or automate things right on the forum with no external service at all.

Free and MIT-licensed.

Flarum License PHP

What it does

Connect covers both directions of automation:

  • Out of your forum → anywhere. When a discussion is started, a reply is posted, or a user registers, Connect fires a signed webhook to whatever URL you (or a Zap) subscribed. Perfect for Zapier/Make/IFTTT/n8n triggers.
  • Anywhere → into your forum. A scoped API key lets an external service create discussions and replies as a real user, through Flarum's own API — so every permission and validation rule still applies.
  • Inside your forum. The built-in Rules engine runs trigger → conditions → actions entirely on your server. No third-party account, no per-task billing, no data leaving the box.

The Connect admin page — automation rules, API keys, triggers and live subscriptions

Set it all up without leaving your forum

Connect embeds Zapier's official experience right in your admin panel. Browse 6,000+ apps, pick a recipe — Share new discussions to a Facebook Page, Post to Slack, Add members to Mailchimp — and build or manage Zaps in place. No tab switching, no developer knowledge required.

The in-admin Zapier experience — curated recipes plus the full Zap builder

Connecting takes one API key — there's nothing to register with Zapier and no developer account needed. Connect ships its own Zapier integration that every forum shares; because it authenticates per-site (your forum URL + your key), one integration serves everyone. Admin → Connect has an Open Connect on Zapier button that takes you straight there.

The in-page Zap builder shown above switches itself on once that integration is listed publicly in Zapier's directory — until then you build Zaps in Zapier itself, with everything else working exactly the same.

Prefer Make, n8n, or IFTTT? They all work off the same REST API and webhooks — no Zapier account involved.

Automation rules (no external service needed)

Pick a trigger, add optional conditions, and choose one or more actions. Rules run on a queue, off the request path, so they never slow down the person who triggered them.

The rule builder — when a new discussion's title contains “help”, post a reply

Triggers

Event Fires when
discussion.created someone starts a new discussion
post.created someone posts a reply
user.registered a new member signs up

Conditions — match all or any of a list. Each condition compares a payload field (e.g. title, content, tagList) using one of: is, is not, contains, does not contain, starts with, is greater than, is less than, is empty, is not empty, matches (regex).

Actions

Action What it does
Post a reply replies to the discussion the event is about
Add / remove a tag requires flarum/tags
Add / remove from a group changes the involved user's groups
Call a webhook POSTs the event payload to a URL you choose

Actions are isolated — if one fails, the rest of the rule still runs — and each rule tracks how many times it has run.

Connecting Zapier / Make / IFTTT / n8n

  1. In Admin → Connect, create an API key. Give it a label (e.g. Zapier) and the scopes it needs — Read for triggers, Write for actions.
  2. Copy the token (ck_…) and secret (cs_…).
  3. In your automation tool, add a webhook that authenticates with Authorization: Bearer ck_….
    • To receive forum events, subscribe your tool's catch-hook URL (Zapier does this automatically via REST Hooks — see the API below).
    • To act on the forum, POST to the action endpoints.

Every outgoing delivery is HMAC-signed so you can verify it really came from your forum:

X-Connect-Signature: sha256=<hex>

valid  ⇔  signature == 'sha256=' + hmac_sha256(rawRequestBody, keySecret)

REST API

All routes are under your forum's API root (/api). Authenticate with Authorization: Bearer ck_….

Method Endpoint Purpose
GET /connect/me Who this key acts as (auth test)
POST /connect/hooks Subscribe: { event, targetUrl } → REST Hook, returns { id }
DELETE /connect/hooks/{id} Unsubscribe
GET /connect/samples/{event} Recent real items shaped like the payload (Zap setup)
POST /connect/actions/discussions Create a discussion { title, content }
POST /connect/actions/posts Reply to a discussion { discussionId, content }

A 410 Gone from a subscribed target auto-prunes the subscription — so a Zap you turn off cleans itself up.

Example

# What does this key act as?
curl https://your-forum.example/api/connect/me \
  -H "Authorization: Bearer ck_live_xxx"

# Create a discussion as the key's user
curl -X POST https://your-forum.example/api/connect/actions/discussions \
  -H "Authorization: Bearer ck_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"title":"Posted from Zapier","content":"Hello from an automation!"}'

Installation

composer require ernestdefoe/connect

Then enable Connect in Admin → Extensions. Make sure a queue worker is running (php flarum queue:work) so webhooks and rule actions are delivered.

The tag actions light up automatically if flarum/tags is installed; everything else works on a stock forum.

Minting a key from the CLI

php flarum connect:key "My key" --scopes=read,write

Requirements

  • Flarum ^2.0
  • PHP ^8.3
  • A running queue worker (recommended — webhooks and rule actions are queued)

License

MIT © Ernest Defoe