Use Webhooks with Slack (build your own app)

If you don't want to rely on our pre-built KnowledgeOwl Webhooks Slack app, you can create webhooks to monitor your team's editing activity, or your customers' feedback inside of your Slack account in real time. This involves some set up on the Slack and the KnowledgeOwl side.

Deprecation notice
Previous versions of these instructions suggested you install the Incoming Webhooks app. Slack has announced deprecation of that app. Please follow the instructions below to create your own Slack app using the Incoming Webhooks functionality, or Use the KnowledgeOwl Webhooks Slack app.

Slack

  1. In a browser, go to https://api.slack.com/apps.
  2. Select Create an App.
    A screenshot of the Slack API Your Apps page with an arrow pointing at the Create an App button
    Create an App button
  3. In the Create an app pop-up, select the From scratch option.
    Screenshot of Slack's Create an app pop-up with a call-out highlighting the From scratch option
    Select the "From scratch" option
  4. Enter an App Name. Here, we use KO Webhooks.
  5. Select the Slack workspace to add the app to.
  6. Once you've finished making your selections, select Create App.
    A screenshot of the Name app & choose workspace pop-up with an App Name of KO Webhooks added and the KnowledgeOwl workspace selected
    Name your app and choose the workspace to create it in
  7. Optional: Your Slack App will use a default logo of a notebook and ruler when it posts through the webhook and a specific background color. To update that image or background color, scroll down the page to the Display Information section to update the App Icon, background color, name, and various descriptions.
    A screenshot of the Display Information section for the Slack app
    Scroll further down the page to adjust the app icon, name, description, and more!
  8. Near the top of the page in the Add features and functionality section, select Incoming Webhooks.
    A screenshot of the Basic Information page of the Slack app with an arrow pointing to the Incoming Webhooks option in the Add features and functionality section
    Select Incoming Webhooks from the Add features and functionality section
  9. Once the Incoming Webhooks page opens, toggle the Activate Incoming Webhooks setting to On.
    A screenshot of the Incoming Webhooks page of the Slack app with the toggle next to Activate Incoming Webhooks set to 'On'
    Slide the Activate Incoming Webhooks toggle to "On"
  10. Go to the Webhook URLs for Your Workspace section and select Add New Webhook to Workspace.
    A screenshot of the Webhook URLs for Your Workspace section of the Slack App with an arrow pointing at the Add New Webhook to Workspace button
    Find and select this option in the Webhook URLs for Your WorkSpace
  11. This will prompt you to select a channel to post to in the app within the Slack workspace you selected in Step 5. Choose the channel you'd like the webhooks to post to and select Allow. Here, we're using the #tests channel:
    A screenshot of the Slack permissions screen asking which channel to allow the app to access
    The channel options you have will depend on your Slack workspace settings; the logos displayed at the top will depend on the App Icon you selected in the Display Information and the logo for your Slack workspace
  12. This will now show a new Webhook URL in the Webhook URLs for Your Workspace section. Select Copy to copy it--we'll need to use it in the next set of steps!
    A screenshot of the Webhook URLs for YOur Workspace section. There is now a Webhook URL visible in the section and the screenshot shows an arrow pointing to the Copy button next to that URL
    Copy the Webhook URL; we'll use that later!
  13. You can confirm the app was set up correctly by viewing the channel you selected; you should see a message saying that you added an integration to the channel. This notification will show as a message from you, since you're the one who set up the app:A screenshot of a Slack message noting that kate added an integration to this channel: KO Webhooks
    Sample confirmation message in your channel that the app has been added

Now you're all set to move on to the KnowledgeOwl side of the configuration!

In KnowledgeOwl

  1. Go to Account > Webhooks. The Webhooks page opens.
  2. Select Create New Webhook. The New Webhook modal opens:A screenshot showing the options available in the New Webhook pop-up, which lets you select All Knowledge Bases or individual knowledge bases to generate webhooks from, the webhook events you'd like to use, the Webhook Type dropdown, and an Endpoint to send the webhook's messages to
    The options available in the New Webhook pop-up
  3. Choose the Knowledge Bases you want to receive notifications about.
  4. Choose the Webhook Events you want to receive notifications about. Refer to Available webhook events for more details.
  5. Select Slack from the Webhook Type dropdown.
  6. Paste the Webhook URL you copied from Slack into the Endpoint text field.
  7. Once you're done setting the webhook configuration, select Create.
  8. After you create your webhook, you should see a new notification in your Slack channel (the display may vary based on the Display Information you selected):

If you received that notification, congratulations your webhook is ready to go!


Common Use Cases

Article Workflows 

Select the article.create and article.statusChange events to receive notifications in Slack whenever someone either creates a new article, or (for example) changes an article from "Draft" to "Ready to Publish".

This can be a great way to monitor your team's writing activity. When used in conjunction with custom author roles, it can be a powerful way to manage and approve content before it goes live.

Reader Comments

Select the comment.create event to receive new comments, including the comment text itself, or select comment.statusChange to be notified whenever someone publishes or deletes a comment.

Contact Form Submissions

Select the contactForm.submit event to receive notifications whenever someone submits a ticket from your knowledge base or embedded help widget.