Using 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.

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. Click the Create an App button.
    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. Give your app 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, click the Create App button.
    A screenshot of the Name app & choose workspace pop-up with an App Name of KO Webhooks added and the KnowledgeOwl workspace selectedName 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, you can 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 appScroll 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 sectionSelect 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. Scroll down to the Webhook URLs for Your Workspace section and click the Add New Webhook to Workspace button.
    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 buttonFind 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 accessThe 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. Click the Copy button 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 URLCopy 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 WebhooksSample 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. Click on your profile icon/name in the upper right.
  2. Select Webhooks from the dropdown.
  3. Select the Create New Webhook button.
    A screenshot of the Webhooks page in KnowledgeOwl with an arrow pointing to the + Create New Webhook buttonSelect the + Create New Webhook button
  4. This will open a pop-up where you can configure your webhook:
    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 toThe options available in the New Webhook pop-up
  5. Choose the Knowledge Bases you want to receive notifications about.
  6. Choose the Webhook Events you want to receive notifications about. See Available webhook events for more details.
  7. Select Slack from the Webhook Type dropdown.
  8. Paste the Webhook URL you copied from Slack into the Endpoint text field.
  9. Once you're done setting the webhook configuration, click the Create button.
    A sample webhook configured for our KnowledgeOwl Support knowledge base only, which will fire when New or Updated callouts are added to articles and will submit to the Slack endpoint we created as part of our Slack app in the previous section!
  10. 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 

You can subscribe to 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 teams writing activity, and 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

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

Contact Form Submissions

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