Social Relay
WordPress social publishing automation plugin that sends first-publication content to Telegram or signed HTTPS webhooks using rule-based recipes. Supports custom post types and WooCommerce products, templates, taxonomy/field conditions, HMAC signatures, idempotency, retries and a bounded WP-Cron queue.
by Shahin Ilderemi · github.com/ildrm/wordpress-social-relay · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/ildrm/wordpress-social-relay/archive/refs/heads/main.zipSocial Relay is a WordPress plugin for rules-driven first-publication delivery to a signed HTTPS webhook or a Telegram channel/group. A recipe matches any public WordPress post type, including WooCommerce products, and renders a destination message from normalized content. Publication runs in a bounded background queue.
Current release: 0.1.0, foundation build. This repository implements the secure publishing path described below. It does not implement the full multi-provider, campaign, audience, media, analytics, and editor experience in the supplied vision. See implementation status before using it in production.
Workflow
- Install and activate the plugin. Outbound publishing starts paused; eligible posts can still enter the queue and will send when publishing is enabled.
- In Social Relay → Destinations, add an HTTPS webhook receiver or Telegram bot channel/group. The bot token or HMAC secret is encrypted at rest.
- In Recipes, choose a public post type, destination, objective, optional taxonomy/field conditions, and message template.
- Open a post. Its Social Relay panel shows actual rule results and the resulting message. You can exclude that post.
- In Overview, explicitly enable external publishing. Non-production environments need a second opt-in.
- On first publication, an eligible post queues a separate destination job. Publications shows acceptance, retries, blocks, and failures.
Webhooks receive a canonical JSON body with X-Social-Relay-Idempotency-Key and X-Social-Relay-Signature: sha256=<hex HMAC>. A 2xx response means the receiver accepted it; the receiver should deduplicate by key. Telegram posts plain text through the official Bot API sendMessage method. No private-recipient messaging is supported.
Documentation
- Optimized implementation brief
- Review of the original prompt
- Implementation status and verification
- Implementation report
- Installation
- Architecture
- Security
- Privacy
- Testing
- Provider capabilities
Requires WordPress 6.4+, PHP 8.1+, and OpenSSL. External publishing depends on WP-Cron; a system cron trigger is recommended for predictable timing.