{"id":337851,"date":"2026-07-16T07:59:18","date_gmt":"2026-07-16T07:59:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ocm-pulse\/"},"modified":"2026-07-16T08:53:09","modified_gmt":"2026-07-16T08:53:09","slug":"ocm-pulse","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ocm-pulse\/","author":23529882,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0.1","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"OCM Pulse","header_author":"OCM Digital Media","header_description":"Send push notifications from the WordPress post editor via OCM Pulse.","assets_banners_color":"273042","last_updated":"2026-07-16 08:53:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/orangeclickmedia.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"orangeclickmedia","date":"2026-07-16 07:58:47"},"1.0.1":{"tag":"1.0.1","author":"orangeclickmedia","date":"2026-07-16 08:53:09"}},"upgrade_notice":{"1.0.1":"<p>Minor update: default API URL pre-fill, documentation links, updated listing assets.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3609840,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3609840,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3609887,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3609887,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3609840,"resolution":"1","location":"assets","locale":"","width":1919,"height":951},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3609840,"resolution":"2","location":"assets","locale":"","width":1920,"height":954},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3609840,"resolution":"3","location":"assets","locale":"","width":1920,"height":954}},"screenshots":{"1":"The OCM Pulse sidebar panel in the Gutenberg block editor.","2":"The OCM Pulse metabox in the Classic Editor.","3":"The OCM Pulse settings page."}},"plugin_section":[],"plugin_tags":[1332,4906,1155,37677],"plugin_category":[46],"plugin_contributors":[271832],"plugin_business_model":[],"class_list":["post-337851","plugin","type-plugin","status-publish","hentry","plugin_tags-editor","plugin_tags-notifications","plugin_tags-push-notifications","plugin_tags-web-push","plugin_category-editor-and-writing","plugin_contributors-orangeclickmedia","plugin_committers-orangeclickmedia"],"banners":{"banner":"https:\/\/ps.w.org\/ocm-pulse\/assets\/banner-772x250.png?rev=3609887","banner_2x":"https:\/\/ps.w.org\/ocm-pulse\/assets\/banner-1544x500.png?rev=3609887","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ocm-pulse\/assets\/icon-128x128.png?rev=3609840","icon_2x":"https:\/\/ps.w.org\/ocm-pulse\/assets\/icon-256x256.png?rev=3609840","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ocm-pulse\/assets\/screenshot-1.png?rev=3609840","caption":"The OCM Pulse sidebar panel in the Gutenberg block editor."},{"src":"https:\/\/ps.w.org\/ocm-pulse\/assets\/screenshot-2.png?rev=3609840","caption":"The OCM Pulse metabox in the Classic Editor."},{"src":"https:\/\/ps.w.org\/ocm-pulse\/assets\/screenshot-3.png?rev=3609840","caption":"The OCM Pulse settings page."}],"raw_content":"<!--section=description-->\n<p>OCM Pulse lets editorial teams send web push notifications directly from the WordPress post editor, without leaving the dashboard or opening the OCM Pulse interface.<\/p>\n\n<p>Works with both the Gutenberg block editor (sidebar panel) and the Classic Editor (metabox). The Send button is fully decoupled from post save \u2014 publish when you're ready, notify when you choose.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Send push notifications from the post editor with one click<\/li>\n<li>Gutenberg sidebar panel and Classic Editor metabox<\/li>\n<li>Pre-fills notification title, body, and URL from the current post<\/li>\n<li>Auto-populates the featured image as the notification image<\/li>\n<li>Category and segment targeting<\/li>\n<li>Schedule notifications for a future date and time<\/li>\n<li>AI-powered copy generation (requires OCM Pulse AI feature on your server)<\/li>\n<li>RSS feed trigger warning \u2014 alerts you when sending might cause duplicate notifications<\/li>\n<li>API token stored server-side and never exposed to the browser<\/li>\n<\/ul>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<ul>\n<li>An active OCM Pulse account<\/li>\n<li>WordPress 6.6 or later, PHP 7.4 or later<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the OCM Pulse push notification service. An active OCM Pulse account and a connected app are required for the plugin to function.<\/p>\n\n<p>Terms of Use: https:\/\/pulse.orangeclickmedia.com\/terms-and-conditions\nPrivacy Policy: https:\/\/pulse.orangeclickmedia.com\/privacy-policy<\/p>\n\n<p><strong>OCM Pulse API<\/strong><\/p>\n\n<p>This is used to send and schedule push notifications, and to populate the editor UI.<\/p>\n\n<ul>\n<li>What is sent, and when:\n\n<ul>\n<li>Connecting: when you click \"Connect to OCM Pulse\" in Settings \u2192 OCM Pulse, your browser is redirected to your configured OCM Pulse server to authorise the connection (OAuth 2.0). No post content is sent at this step.<\/li>\n<li>Sending: when you click \"Send Push Notification\" or \"Schedule\" in the post editor, the notification's title, body, URL, optional image URL, category, segment, and schedule time are sent to your OCM Pulse server to create the delivery.<\/li>\n<li>AI copy generation: when you click \"Generate with AI\", the post's title and content (HTML stripped) are sent to your OCM Pulse server to generate suggested notification copy. This only happens when you explicitly click the button.<\/li>\n<li>Editor setup: the plugin fetches your app's categories, segments, and RSS-trigger status from your OCM Pulse server each time the editor loads, to populate dropdowns and warnings.<\/li>\n<\/ul><\/li>\n<li>Service URL: the server address you enter under Settings \u2192 OCM Pulse (\"OCM Pulse API URL\"). This is configured per installation, not a fixed OCM Pulse endpoint.<\/li>\n<\/ul>\n\n<p><strong>OCM Pulse SDK (optional, disabled by default)<\/strong><\/p>\n\n<p>This is a client-side script, served from your configured OCM Pulse server, that registers a browser service worker and prompts site visitors to subscribe to push notifications.<\/p>\n\n<ul>\n<li>It only loads when you enable \"Inject SDK script and service worker into this site\" under Settings \u2192 OCM Pulse. When enabled, it loads on every frontend page, for every visitor.<\/li>\n<li>The SDK performs its own visitor consent check before prompting for a subscription, unless you separately enable \"Skip consent check\" (also disabled by default). Enabling that option is your decision as the site operator, and you are responsible for complying with applicable privacy laws (e.g. GDPR\/ePrivacy) if you do.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>ocm-pulse<\/code> directory to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Open <strong>OCM Pulse<\/strong> in the admin menu, enter your <strong>OCM Pulse API URL<\/strong> (e.g. <code>https:\/\/pulse.orangeclickmedia.com<\/code>), and click <strong>Save URL<\/strong>.<\/li>\n<li>Click <strong>Connect to OCM Pulse<\/strong> and complete the OAuth flow. Your credentials are stored automatically \u2014 no copy-pasting of tokens required.<\/li>\n<li>Open any post or page in the editor. The OCM Pulse panel appears in the Document tab (Gutenberg) or in the side panel (Classic Editor).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20connect%20the%20plugin%20to%20ocm%20pulse%3F\"><h3>How do I connect the plugin to OCM Pulse?<\/h3><\/dt>\n<dd><p>Open <strong>OCM Pulse<\/strong> in the admin menu, enter your OCM Pulse server URL, and click <strong>Save URL<\/strong>. Then click <strong>Connect to OCM Pulse<\/strong> \u2014 you will be redirected to the OCM Pulse server to authorise the connection. Before connecting, make sure an OCM Pulse app exists whose <strong>site domain<\/strong> matches this site's host exactly (the Connect screen shows the required host).<\/p><\/dd>\n<dt id=\"does%20sending%20a%20notification%20publish%20or%20save%20the%20post%3F\"><h3>Does sending a notification publish or save the post?<\/h3><\/dt>\n<dd><p>No. The Send button is completely independent of post saving or publishing. You can send a notification at any time, regardless of the post status.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20leave%20the%20schedule%20field%20empty%3F\"><h3>What happens if I leave the schedule field empty?<\/h3><\/dt>\n<dd><p>The notification is sent immediately.<\/p><\/dd>\n<dt id=\"why%20are%20the%20category%20and%20segment%20dropdowns%20not%20showing%3F\"><h3>Why are the Category and Segment dropdowns not showing?<\/h3><\/dt>\n<dd><p>These dropdowns populate from the OCM Pulse server. If your server version does not yet expose the category and segment endpoints, the dropdowns are hidden and the notification is sent to all subscribers without a category filter.<\/p><\/dd>\n<dt id=\"is%20my%20api%20token%20secure%3F\"><h3>Is my API token secure?<\/h3><\/dt>\n<dd><p>Yes. The API token is stored in the WordPress database and never output to the browser. All OCM Pulse API calls are made server-side via the WordPress REST API.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20custom%20post%20types%3F\"><h3>Does this plugin work with custom post types?<\/h3><\/dt>\n<dd><p>The Classic Editor metabox is registered for <code>post<\/code> and <code>page<\/code> post types. The Gutenberg sidebar appears on all post types that support the block editor.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>OCM Pulse API URL field now defaults to <code>https:\/\/pulse.orangeclickmedia.com\/<\/code> on first setup, saving a manual step for new installs.<\/li>\n<li>Added Terms of Use and Privacy Policy links to the External Services documentation.<\/li>\n<li>Updated plugin directory icon, banner, and screenshots.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Send push notifications from the WordPress post editor via OCM Pulse \u2014 no dashboard switching required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337851","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=337851"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/orangeclickmedia"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337851"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337851"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337851"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337851"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337851"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}