Create a Suggestion Box Chatbot With a Workplace Group

Case Study May 25, 2021

One of the cool internal use cases for chatbots are "suggestion box"-types of chatbots, that will help gather all the information about your employees' most brilliant ideas, and post them in a dedicated place, like a shared Google Sheet or a dedicated Workplace group.

Create a Suggestion Box Chatbot

The first thing to do is to develop a simple chatbot that will help employees share their idea. For example, the conversation could go somewhat like this:

start:
  say "Hi there! I'm IdeaBot, I will help you share your cool idea with your colleagues!"
  say "Tell me about your idea in a few sentences..."
  hold
  
  remember content = event
  say "I see. And how would you call this idea?"
  hold
  
  remember title = event
  say QuickReply(
    "Can you share a link where we can learn more about this idea?",
    buttons=[Button("Skip")]
  )
  hold
  
  if (event.starts_with("http")) remember link = event
  else remember link = Null
  
  say QuickReply(
  	"Alright! And what category would best describe your idea?",
    buttons=[Button("Strategy"), Button("Marketing"), Button("Team"), Button("Technology")]
  )
  hold
  
  remember tag = event

At the end of this, we should have successfully saved all the necessary information about the suggestion, and we are now able to send it somewhere where it can be seen by the whole team.

Cross-Posting the Idea to a Workplace Group

Workplace is one of the fastest-growing enterprise social networks, built by no other than Facebook themselves. It is basically a private facebook for your company, with posts and groups and chats and all your colleagues. Workplace groups are one of the main features of the platform, and if your company has Workplace, there is a good chance there is already a group for posting innovation ideas.

Now, what if our chatbot could directly post the content of the idea directly as a new post in a dedicated group? That's exactly one of the main use cases for the Workplace App in CSML Studio.

CSML Studio - Workplace Chatbot Integration
Connect Workplace with your chatbot in CSML Studio!

Setting Up Workplace And CSML Studio

To install the Workplace integration, go to the Apps menu in CSML Studio and setup the app accordingly. In Workplace, you will need to create a custom integration and retrieve the access token, app ID and app secret, as well as check the "Manage Group Content" permission.

You may also restrict the groups the integration can access using the "Specific Groups" setting in the integration's configuration page.

Finally, under the Security Settings, make sure you check "Require App Secret Proof", which adds an extra layer of security.

You can find more information about setting up Workplace custom integrations on this page.

Once everything is ready, let's update our chatbot!

Creating Workplace Posts From Your Chatbot

Your chatbot may run anywhere (in Workplace Chat for sure, but also in a custom chatbox in a Sharepoint website, or on Microsoft Teams or Google Chat if you prefer those solutions for your instant messaging needs) but thanks to this integration, you will be able to create new posts in any Workplace group very easily.

After the previous code that we wrote, you can now add the following:

// Put together the title, content and tag in a single message
do message = "# {{title}}

{{content}}

#{{tag}}"

// Create the post in the workplace group GROUP_ID
do App(
  "workplace",
  method="create_post",
  group_id="GROUP_ID",
  message=message,
  link=link,
)

This will create a new post in the selected group. Obviously, you will need to replace `GROUP_ID` with your actual group ID. To find the group ID, simply visit the group and get the part in the URL that's only made of numbers (i.e if your group URL is `https://work.workplace.com/groups/702321530161072`, the group ID is `702321530161072`).

If your group has a "nice" URL with a group name instead of a group ID, you can retrieve it by performing the following sequence:

1. right click on the group's name, and 2. copy link address
the ID of the group will be in the copied link address

Now that you have your group ID, and updated your chatbot's code, it's time to test the chatbot!

For example, in this case, the user wants to share a link to Clevy, a platform that lets you create HR and internal chatbots very easily (also, the team behind CSML 🤓).

  • title = HR Chatbot Platform
  • content = Clevy is a cool and easy-to-use platform that lets you create HR chatbots very easily
  • tag = tech
  • link = https://clevy.io

Using Markdown formatting, the created post is well-structured and easy to read! The title appears in a larger font, and the tag is a link, letting users click on it to search for similar ideas of the same category.

Now, your colleagues can add comments and like this post to vote for your idea. More importantly, this empowers any employee to simply write about their idea in the chatbot, which will automatically cross post their idea on the dedicated group with no additional effort.

Going Further

In this guide I showed how you can easily create a Suggestion Box chatbot that posts all new ideas to a Workplace group.

The Workplace integration also lets you comment the post, so you could for instance add a first comment below the post to encourage other users to comment and like the idea.

If you are not a Workplace customer, you can obviously send the ideas in a similar way to a Google Sheet. There is an integration for that as well! Check out this blog post for a guide on how to use the Google Sheet app.

If you have any further question, don't hesitate to ask in our Slack community chat!

Tags