{"id":368980,"date":"2026-09-15T13:59:48","date_gmt":"2026-09-15T13:59:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sitebix-to-emailoctopus\/"},"modified":"2026-09-15T15:08:15","modified_gmt":"2026-09-15T15:08:15","slug":"sitebix-to-emailoctopus","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sitebix-to-emailoctopus\/","author":23299529,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Sitebix to EmailOctopus","header_author":"K. Young","header_description":"Sync WordPress users and form submissions to EmailOctopus lists with flexible mapping, webhooks, and activity logging.","assets_banners_color":"","last_updated":"2026-09-15 15:08:15","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/sitebix.com","header_plugin_uri":"https:\/\/sitebix.com","header_author_uri":"https:\/\/profiles.wordpress.org\/sitebix\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"sitebix","date":"2026-09-15 15:08:15","revision":3697212}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3697212,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3697212,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3697494,"resolution":"1","location":"assets","locale":"","width":1187,"height":1385},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3697494,"resolution":"2","location":"assets","locale":"","width":1187,"height":447},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3697494,"resolution":"3","location":"assets","locale":"","width":1187,"height":279},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3697494,"resolution":"4","location":"assets","locale":"","width":1187,"height":429}},"screenshots":{"1":"Connection settings: API key, list, default contact status, role filters, and connection test.","2":"Sources and field mapping: add Elementor, webhook, or WordPress user profiles.","3":"Bulk WordPress user sync.","4":"Filterable activity log."}},"plugin_section":[],"plugin_tags":[76538,267,26877,456,15439],"plugin_category":[41,55],"plugin_contributors":[280878],"plugin_business_model":[],"class_list":["post-368980","plugin","type-plugin","status-publish","hentry","plugin_tags-elementor","plugin_tags-email","plugin_tags-emailoctopus","plugin_tags-marketing","plugin_tags-webhook","plugin_category-communication","plugin_category-seo-and-marketing","plugin_contributors-sitebix","plugin_committers-sitebix"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sitebix-to-emailoctopus\/assets\/icon-128x128.png?rev=3697212","icon_2x":"https:\/\/ps.w.org\/sitebix-to-emailoctopus\/assets\/icon-256x256.png?rev=3697212","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sitebix-to-emailoctopus\/assets\/screenshot-1.png?rev=3697494","caption":"Connection settings: API key, list, default contact status, role filters, and connection test."},{"src":"https:\/\/ps.w.org\/sitebix-to-emailoctopus\/assets\/screenshot-2.png?rev=3697494","caption":"Sources and field mapping: add Elementor, webhook, or WordPress user profiles."},{"src":"https:\/\/ps.w.org\/sitebix-to-emailoctopus\/assets\/screenshot-3.png?rev=3697494","caption":"Bulk WordPress user sync."},{"src":"https:\/\/ps.w.org\/sitebix-to-emailoctopus\/assets\/screenshot-4.png?rev=3697494","caption":"Filterable activity log."}],"raw_content":"<!--section=description-->\n<p>Sitebix to EmailOctopus connects your site to <a href=\"https:\/\/emailoctopus.com\/\">EmailOctopus<\/a> API v2:<\/p>\n\n<ul>\n<li><strong>Connection<\/strong> \u2014 API key (encrypted in the database or via <code>wp-config.php<\/code> constant), list picker, default contact status (<code>subscribed<\/code> vs <code>pending<\/code> for double opt-in), connection test.<\/li>\n<li><strong>Sources<\/strong> \u2014 Multiple named profiles with field mapping (source keys \u2192 EmailOctopus field tags), static tags, and optional dynamic tags from one payload field.<\/li>\n<li><strong>WordPress user sync<\/strong> \u2014 Role filters, comparison against list contacts (paginated API), batched upserts via Action Scheduler when available, otherwise WP-Cron.<\/li>\n<li><strong>Elementor Pro<\/strong> \u2014 Native \u201cSitebix \u2192 EmailOctopus\u201d form action after submit (mapping profile selector).<\/li>\n<li><strong>Webhook<\/strong> \u2014 REST endpoint <code>POST \/wp-json\/sitebix-weo\/v1\/webhook\/{source_id}<\/code> with shared secret (<code>?secret=<\/code> or <code>X-Sitebix-WEO-Secret<\/code>). Optional IP allowlist. First-hit \u201chold until mapped\u201d workflow with sample payload and replay.<\/li>\n<li><strong>Activity log<\/strong> \u2014 Custom database table; filterable\/paginated admin log (created, updated, skipped, webhook held, errors, bulk sync).<\/li>\n<\/ul>\n\n<p>No Composer dependencies. Rate limits (429) are handled with retries\/backoff.<\/p>\n\n<p><strong>Developer:<\/strong> <a href=\"https:\/\/profiles.wordpress.org\/sitebix\/\">K. Young<\/a> \u00b7 <strong>Brand:<\/strong> <a href=\"https:\/\/sitebix.com\">Sitebix<\/a> \u00b7 <strong>Support:<\/strong> support@sitebix.com<\/p>\n\n<h3>Elementor Pro (native action)<\/h3>\n\n<ol>\n<li>In <strong>Sitebix EO \u2192 Sources &amp; mapping<\/strong>, add an <strong>Elementor<\/strong> profile and map form field IDs to EmailOctopus tags (include one row for your list\u2019s contact email field \u2014 often <code>emailAddress<\/code> or <code>email_address<\/code>).<\/li>\n<li>Edit your Elementor form \u2192 <strong>Actions After Submit<\/strong> \u2192 add <strong>Sitebix \u2192 EmailOctopus<\/strong>.<\/li>\n<li>Select the mapping profile and save.<\/li>\n<\/ol>\n\n<h3>Webhook (Elementor \u201cWebhook\u201d action or any HTTP client)<\/h3>\n\n<ol>\n<li>Add a <strong>Webhook<\/strong> source; set a <strong>New webhook secret<\/strong> and save.<\/li>\n<li>Copy the <strong>Webhook URL<\/strong> from the source card. Append <code>?secret=YOUR_SECRET<\/code> or send header <code>X-Sitebix-WEO-Secret: YOUR_SECRET<\/code>.<\/li>\n<li>On first receive, while mapping is incomplete or the source is inactive, the plugin <strong>holds<\/strong> the payload, stores a redacted sample, and returns HTTP 202. Complete mapping, set state to <strong>Active<\/strong>, check <strong>Active<\/strong>, then save. Use <strong>Replay sample<\/strong> if needed.<\/li>\n<\/ol>\n\n<p><strong>IP allowlist:<\/strong> One IP per line in the source settings; empty list allows all. Behind reverse proxies, <code>REMOTE_ADDR<\/code> may need server configuration for accuracy.<\/p>\n\n<h3>User sync &amp; background processing<\/h3>\n\n<p>Bulk sync enumerates existing list contacts (paginated), compares to WordPress users (optional role checkboxes on the Connection tab), then upserts missing contacts in batches. If <strong>Action Scheduler<\/strong> is available (e.g. via WooCommerce), jobs run there; otherwise <strong>WP-Cron<\/strong> schedules follow-up ticks. Keep <strong>WP_CRON<\/strong> or a real cron visiting <code>wp-cron.php<\/code> enabled on budget hosts.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>EmailOctopus<\/strong> email marketing API (<code>https:\/\/api.emailoctopus.com<\/code>) so site owners can sync WordPress users and form submissions to EmailOctopus lists.<\/p>\n\n<p><strong>What it is used for:<\/strong> creating and updating EmailOctopus contacts, listing lists and fields, testing the API connection, and (when configured) comparing WordPress users to list contacts during bulk sync.<\/p>\n\n<p><strong>What data is sent and when:<\/strong>\n* The site owner's EmailOctopus API key is sent as a Bearer token on every API request (after they save it in settings, or via the optional <code>SITEBIX_WEO_API_KEY<\/code> constant).\n* Contact data mapped by the site owner (at minimum an email address; optionally names, custom fields, and tags) is sent when a WordPress user is created\/updated and matches sync rules, when an Elementor form action or webhook source processes a submission, when a held webhook sample is replayed, or when a bulk user sync runs.\n* Connection tests and list\/field lookups send only authentication and list identifiers \u2014 not contact payloads \u2014 when an admin uses those controls.<\/p>\n\n<p>No contact data is sent until the site owner configures an API key and active mapping sources. EmailOctopus is operated by Three Hearts Digital Ltd.<\/p>\n\n<ul>\n<li>Terms of Use: https:\/\/emailoctopus.com\/legal\/terms<\/li>\n<li>Privacy Policy: https:\/\/emailoctopus.com\/legal\/privacy<\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<p>Developed by <strong>K. Young<\/strong> for <strong>Sitebix<\/strong>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sitebix-to-emailoctopus<\/code> folder to <code>wp-content\/plugins\/<\/code> or install the ZIP via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate <strong>Sitebix to EmailOctopus<\/strong>.<\/li>\n<li>Go to <strong>Sitebix EO<\/strong> in the admin menu.<\/li>\n<li>Enter your EmailOctopus API key (or define <code>SITEBIX_WEO_API_KEY<\/code> in <code>wp-config.php<\/code>), choose a list, set default contact status, save, and use <strong>Test connection<\/strong>.<\/li>\n<\/ol>\n\n<p>Optional <code>wp-config.php<\/code> override (key is never stored in the database when set):<\/p>\n\n<pre><code>define( 'SITEBIX_WEO_API_KEY', 'your-api-key-here' );\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20bulk%20sync%20work%20on%20large%20lists%3F\"><h3>Will bulk sync work on large lists?<\/h3><\/dt>\n<dd><p>The plugin paginates EmailOctopus contacts and processes WordPress users in pages. Very large lists increase memory use for the on-site email set; for huge directories consider segmenting by role or running off-peak.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20uninstall%3F\"><h3>What happens on uninstall?<\/h3><\/dt>\n<dd><p>By default options and the log table are removed. To retain data, add to a small must-use plugin or theme:<\/p>\n\n<pre><code>add_filter( 'sitebix_weo_uninstall_preserve_data', '__return_true' );\n<\/code><\/pre><\/dd>\n<dt id=\"api%20rate%20limits%3F\"><h3>API rate limits?<\/h3><\/dt>\n<dd><p>EmailOctopus applies token-bucket limits; the client backs off on HTTP 429 using <code>Retry-After<\/code> when present.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Document EmailOctopus as an external service in the readme (terms and privacy links).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Sync WordPress users and forms to EmailOctopus lists with mapping profiles, webhooks, bulk sync, and an activity log.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/368980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=368980"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sitebix"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=368980"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=368980"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=368980"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=368980"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=368980"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=368980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}