See WordPress blog notifications in Zulip!
This integration works with both WordPress.com blogs and self-installed blogs using software from WordPress.org and the optional HookPress plugin. For more details on the two, please see the WordPress.com support page about the difference between WordPress.com and WordPress.org.
The destination stream for your WordPress notifications must already exist. The
default stream is wordpress. Some actions are only available for self-
installed blogs. For a complete list of supported action types, please see the table
at the bottom of this page.
Configuration
Note: screen capture images in this tutorial use a self-installed blog.
To configure a new webhook from WordPress, go to the Webhooks page in the Settings section of your blog dashboard and click Add webhook.

If you use WordPress.com and have trouble locating the correct page, you can reach it by manually typing the url in your browser address bar as in this example:
https://yourblogname.wordpress.com/wp-admin/options-general.php?page=webhooks
Select the hook type action and the specific action that should trigger this webhook notification. This example uses publish_post, which is triggered when a new blog post is created.
The Zulip WordPress integration uses the fields post_title, post_type, and post_url for a publish_post action, so select those three fields in the list.
Next, enter the URL for the Zulip endpoint, specifying your desired destination stream and topic. Construct your URL like this for a WordPress.com blog:
{{ external_api_uri_subdomain }}/v1/external/wordpress?api_key=abcdefgh&stream=wordpress&topic=New%20Posts
and like this for a self-installed blog:
{{ external_api_uri_subdomain }}/v1/external/wordpress?api_key=abcdefgh;stream=wordpress;topic=New%20Posts
The parameters are as follows:
api_key: the API key for your Zulip botstream: the stream your WordPress notifications should be posted intopic: the name of the topic in that stream
Important: the HookPress plugin requires parameters delimited by
semicolons. If you have a self-installed blog, separate parameters with ;
instead of &.
When you are done, your configured webhook should look like this:
When a new post is published, a message is created in the specified Zulip stream and topic.
Congratulations! You're done!
To configure other actions, choose a supported action from the dropdown list and select the appropriate fields.
| Action | Required Fields | Blog Type |
| publish_post | post_title, post_type, post_url | Both |
| publish_page | post_title, post_type, post_url | Both |
| user_register | display_name, user_email | Self-installed |
| wp_login | user_login | Self-installed |