{"slug":"directrelay-automation-bridge-for-n8n","name":"DirectRelay – n8n WordPress Plugin: Workflow Automation, REST API, Webhooks & AI Agents","description":"Complete n8n WordPress integration: REST API for AI agents, signed WordPress webhooks, and workflow automation. Connect WordPress to n8n in minutes.","author":"N4nion","active_installs":0,"version":"5.1.34","wp_org_url":"https://wordpress.org/plugins/directrelay-automation-bridge-for-n8n/","is_closed":false,"cleanup":{"has_uninstall_hook":true,"drops_tables_on_uninstall":true,"deletes_options_on_uninstall":true},"tables":[{"table_name":"directrelay_analytics","full_table_name":"wp_directrelay_analytics","description":"Stores analytics or statistics data.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"bucket_hour","type":"DATETIME","nullable":false,"primary_key":false},{"name":"endpoint","type":"VARCHAR(128)","nullable":false,"primary_key":false},{"name":"method","type":"VARCHAR(10)","nullable":false,"primary_key":false},{"name":"http_status","type":"SMALLINT","nullable":false,"primary_key":false},{"name":"hits","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"total_ms","type":"INT UNSIGNED","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_analytics ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, bucket_hour DATETIME NOT NULL, key_id BIGINT UNSIGNED DEFAULT NULL, endpoint VARCHAR(128) NOT NULL DEFAULT '', method VARCHAR(10) NOT NULL DEFAULT '', http_status SMALLINT NOT NULL DEFAULT 200, hits INT UNSIGNED NOT NULL DEFAULT 1, total_ms INT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (id), UNIQUE KEY uq_bucket (bucket_hour, key_id, endpoint, method, http_status), KEY idx_hour (bucket_hour) ) $c;\" );"},{"table_name":"directrelay_approvals","full_table_name":"wp_directrelay_approvals","description":"Stores directrelay approvals data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"ticket_uuid","type":"CHAR(36)","nullable":false,"primary_key":false},{"name":"post_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"token_hash","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"status","type":"VARCHAR(20)","nullable":false,"primary_key":false},{"name":"payload","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"editor_feedback","type":"TEXT","nullable":true,"primary_key":false},{"name":"reviewer_user_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"expires_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"resolved_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_approvals ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, ticket_uuid CHAR(36) NOT NULL, key_id BIGINT UNSIGNED NOT NULL, post_id BIGINT UNSIGNED DEFAULT NULL, token_hash VARCHAR(255) NOT NULL, status VARCHAR(20) NOT NULL DEFAULT 'pending', payload LONGTEXT NOT NULL, editor_feedback TEXT DEFAULT NULL, reviewer_user_id BIGINT UNSIGNED DEFAULT NULL, expires_at DATETIME NOT NULL, created_at DATETIME NOT NULL, resolved_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY uq_ticket (ticket_uuid), KEY idx_status (status), KEY idx_post (post_id), KEY idx_key (key_id), KEY idx_expires (expires_at) ) $c;\" );"},{"table_name":"directrelay_brute_force","full_table_name":"wp_directrelay_brute_force","description":"Stores directrelay brute force data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"ip_address","type":"VARCHAR(45)","nullable":false,"primary_key":false},{"name":"event_type","type":"VARCHAR(32)","nullable":false,"primary_key":false},{"name":"hits","type":"SMALLINT UNSIGNED","nullable":false,"primary_key":false},{"name":"window_open","type":"DATETIME","nullable":false,"primary_key":false},{"name":"blocked_until","type":"DATETIME","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_brute_force ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, ip_address VARCHAR(45) NOT NULL, event_type VARCHAR(32) NOT NULL DEFAULT 'failed_auth', hits SMALLINT UNSIGNED NOT NULL DEFAULT 1, window_open DATETIME NOT NULL, blocked_until DATETIME DEFAULT NULL, created_at DATETIME NOT NULL, PRIMARY KEY (id), UNIQUE KEY uq_ip_type (ip_address, event_type), KEY idx_ip (ip_address) ) $c;\" );"},{"table_name":"directrelay_keys","full_table_name":"wp_directrelay_keys","description":"Stores directrelay keys data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"user_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"label","type":"VARCHAR(191)","nullable":false,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"environment","type":"VARCHAR(20)","nullable":false,"primary_key":false},{"name":"agent_role","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"daily_limit","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"posts_today","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"posts_today_date","type":"DATE","nullable":true,"primary_key":false},{"name":"restrict_own_posts","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"require_approval","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"scopes","type":"TEXT","nullable":false,"primary_key":false},{"name":"ip_whitelist","type":"TEXT","nullable":true,"primary_key":false},{"name":"last_used_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"last_used_ip","type":"VARCHAR(45)","nullable":true,"primary_key":false},{"name":"expires_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"total_requests","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"revoked","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"revoked_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_keys ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, user_id BIGINT UNSIGNED NOT NULL, key_hash VARCHAR(191) NOT NULL, key_prefix CHAR(12) NOT NULL DEFAULT '', label VARCHAR(191) NOT NULL DEFAULT '', description TEXT DEFAULT NULL, environment VARCHAR(20) NOT NULL DEFAULT 'production', agent_role VARCHAR(50) NOT NULL DEFAULT 'full_access', daily_limit INT UNSIGNED NOT NULL DEFAULT 0, posts_today INT UNSIGNED NOT NULL DEFAULT 0, posts_today_date DATE DEFAULT NULL, restrict_own_posts TINYINT(1) NOT NULL DEFAULT 0, require_approval TINYINT(1) NOT NULL DEFAULT 0, scopes TEXT NOT NULL, ip_whitelist TEXT DEFAULT NULL, last_used_at DATETIME DEFAULT NULL, last_used_ip VARCHAR(45) DEFAULT NULL, expires_at DATETIME DEFAULT NULL, total_requests BIGINT UNSIGNED NOT NULL DEFAULT 0, created_at DATETIME NOT NULL, revoked TINYINT(1) NOT NULL DEFAULT 0, revoked_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY uq_hash (key_hash), KEY idx_uid (user_id), KEY idx_prefix (key_prefix), KEY idx_agent_role (agent_role) ) $c;\" );"},{"table_name":"directrelay_log","full_table_name":"wp_directrelay_log","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"request_uuid","type":"CHAR(36)","nullable":true,"primary_key":false},{"name":"user_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"ip_address","type":"VARCHAR(45)","nullable":false,"primary_key":false},{"name":"method","type":"VARCHAR(10)","nullable":false,"primary_key":false},{"name":"endpoint","type":"VARCHAR(512)","nullable":false,"primary_key":false},{"name":"action","type":"VARCHAR(128)","nullable":false,"primary_key":false},{"name":"object_type","type":"VARCHAR(64)","nullable":true,"primary_key":false},{"name":"object_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"http_status","type":"SMALLINT","nullable":true,"primary_key":false},{"name":"response_msg","type":"TEXT","nullable":true,"primary_key":false},{"name":"duration_ms","type":"SMALLINT UNSIGNED","nullable":true,"primary_key":false},{"name":"request_payload","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"execution_trace","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"is_replay","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_log ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, request_uuid CHAR(36) DEFAULT NULL, key_id BIGINT UNSIGNED DEFAULT NULL, user_id BIGINT UNSIGNED DEFAULT NULL, ip_address VARCHAR(45) NOT NULL DEFAULT '', method VARCHAR(10) NOT NULL DEFAULT '', endpoint VARCHAR(512) NOT NULL DEFAULT '', action VARCHAR(128) NOT NULL DEFAULT '', object_type VARCHAR(64) DEFAULT NULL, object_id BIGINT UNSIGNED DEFAULT NULL, http_status SMALLINT DEFAULT NULL, response_msg TEXT DEFAULT NULL, duration_ms SMALLINT UNSIGNED DEFAULT NULL, request_payload LONGTEXT DEFAULT NULL, execution_trace LONGTEXT DEFAULT NULL, is_replay TINYINT(1) NOT NULL DEFAULT 0, created_at DATETIME NOT NULL, PRIMARY KEY (id), KEY idx_key (key_id), KEY idx_date (created_at), KEY idx_action (action), KEY idx_req_uuid (request_uuid) ) $c;\" );"},{"table_name":"directrelay_rate","full_table_name":"wp_directrelay_rate","description":"Stores directrelay rate data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"bucket","type":"VARCHAR(128)","nullable":false,"primary_key":false},{"name":"hits","type":"SMALLINT UNSIGNED","nullable":false,"primary_key":false},{"name":"window_open","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_rate ( bucket VARCHAR(128) NOT NULL, hits SMALLINT UNSIGNED NOT NULL DEFAULT 0, window_open DATETIME NOT NULL, PRIMARY KEY (bucket) ) $c;\" );"},{"table_name":"directrelay_webhook_log","full_table_name":"wp_directrelay_webhook_log","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"webhook_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"event","type":"VARCHAR(64)","nullable":false,"primary_key":false},{"name":"object_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"attempt","type":"TINYINT UNSIGNED","nullable":false,"primary_key":false},{"name":"http_status","type":"SMALLINT","nullable":true,"primary_key":false},{"name":"duration_ms","type":"SMALLINT UNSIGNED","nullable":true,"primary_key":false},{"name":"response_body","type":"TEXT","nullable":true,"primary_key":false},{"name":"error_message","type":"TEXT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_webhook_log ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, webhook_id BIGINT UNSIGNED NOT NULL, event VARCHAR(64) NOT NULL DEFAULT '', object_id BIGINT UNSIGNED DEFAULT NULL, attempt TINYINT UNSIGNED NOT NULL DEFAULT 1, http_status SMALLINT DEFAULT NULL, duration_ms SMALLINT UNSIGNED DEFAULT NULL, response_body TEXT DEFAULT NULL, error_message TEXT DEFAULT NULL, created_at DATETIME NOT NULL, PRIMARY KEY (id), KEY idx_wh (webhook_id), KEY idx_date (created_at) ) $c;\" );"},{"table_name":"directrelay_webhooks","full_table_name":"wp_directrelay_webhooks","description":"Stores directrelay webhooks data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"label","type":"VARCHAR(191)","nullable":false,"primary_key":false},{"name":"target_url","type":"TEXT","nullable":false,"primary_key":false},{"name":"secret","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"events","type":"TEXT","nullable":false,"primary_key":false},{"name":"post_types","type":"TEXT","nullable":false,"primary_key":false},{"name":"active","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"last_fired_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"last_status","type":"SMALLINT","nullable":true,"primary_key":false},{"name":"fire_count","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"fail_count","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_directrelay_webhooks ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, key_id BIGINT UNSIGNED DEFAULT NULL, label VARCHAR(191) NOT NULL DEFAULT '', target_url TEXT NOT NULL, secret VARCHAR(255) DEFAULT NULL, events TEXT NOT NULL, post_types TEXT NOT NULL, active TINYINT(1) NOT NULL DEFAULT 1, last_fired_at DATETIME DEFAULT NULL, last_status SMALLINT DEFAULT NULL, fire_count BIGINT UNSIGNED NOT NULL DEFAULT 0, fail_count BIGINT UNSIGNED NOT NULL DEFAULT 0, created_at DATETIME NOT NULL, PRIMARY KEY (id) ) $c;\" );"}],"table_count":8}