How bot makers collaborate with their clients in Slack

Josh Barkin
Being Janis
Published in
10 min readJul 11, 2018

It’s harder to build a good bot than it is to build a good website or an iPhone app. Enabling a truly responsive and delightful conversational experience takes time, the right people, the right tools, and an effective way to collaborate with your clients.

Slack is a powerful collaboration workspace and if you haven’t discovered the magic of Slack yet, here is a quick explainer:

When you add Janis to Slack, you can connect the people and tools together needed to make a bot project successful.

Once you add Janis to Slack, there are two ways bot makers can collaborate, Co-Training, and Co-Managing.

Co-Training is ideal for bot makers that simply want to make their clients active participants in creating the “voice” and personality of the bot.

Co-managing allows you to collaborate with your clients working from two different Slack workspaces. You can share a bot and the responsibilities associated with training the bot and managing the conversational experience.

1. Co-Training

Let’s say your client is not a regular Slack user themselves, but you want them to be active participants in training the bot to respond to user input. You don’t want them to log-in to Dialogflow because that’s going to be overwhelming for them, and you don’t want them to log-into your bot making platform (i.e. Chatfuel or Manychat) either because you don’t want to let them into “the kitchen”. Janis creates a training channel in Slack, and you can invite them into just the training channel where they can collaborate with you on training the bot to respond.

Add your client’s bot to Janis. When you get to the settings for the bot, you’ll see a button to Train your bot. Click that button and you’ll be given two options to train. Click the link to go to the training channel for your client’s bot.

The Training channel provides an easy way to send messages to the Dialogflow agent for the bot. You just type into the channel and the Dialogflow agent for the bot will respond. Anyone who has been added to the channel can click to view Janis’ reply to each message and then categorize what users say and how the bot will respond. While you as a bot maker may want to use the Dialogflow interface for more sophisticated training, the training tools in Slack are ideal for your clients. They don’t require any technical experience, or knowledge, because the tools are simple and intuitive.

Because Slack is natively built for collaboration, you simply need to mention @ username in the training channel to add them to the channel. Once a user joins a channel, you can chat with each other in the channel by mentioning the user, followed by your message. Any message that doesn’t mention a username will pass the message to the Dialogflow agent and the bot will respond. In this sense, you can train the bot together by chatting with both the bot and each other in a single channel.

Inviting people outside of your workspace to the training channel

You might need to invite multiple people involved in the bot project to the training channel so you can collaborate. For example, here are three bot makers, each working in different countries:

Manuel Gick

Manuel Gick builds Facebook Messenger apps with Chatfuel and ManyChat. He can set up the building blocks and basic flows you’ll need so your bot can communicate.

Deborah Kay

The bot is going to need some personality too. Deborah Kay is a Dialogflow guru and can help you make the bot responsive to incoming messages with personality.

Michael Lucy

Michael Lucy is an expert at lead generation and can automatically transfer warm leads captured by the Facebook bot to live agents on the phone ready to secure new business.

You might have a larger team of people with different skill sets involved in the project and all of them are working remotely. You can invite all of them to the training channel, and invite your client into the channel as well.

Everyone can be active contributors and collaborate on training the bot together.

To invite collaborators into the training channel, click the ⚙icon at the top of the channel and select Invite new members to join.

If you’re going to invite people into the training channel that are not active members of your Slack workspace, click invite a new person to your workspace.

You’ll then be presented with 3 options. You’ll need to have at least one paid Slack account to do this. ($6 / month), but you’ll see the option to invite a Single-channel guest.

Add an email address for the person you want to invite and they will get an invite to join the channel. They will need to get a free Slack account, but joining a channel in YOUR workspace is at no cost to them.

Once someone you invite accepts your invitation to the training channel, you’ll be able to collaborate with them on training AI in the channel.

Because you invited a user as a Single-channel guest, they will only have access to this channel in your workspace and no other channels. All of your other communications and channels will be inaccessible to them.

2. Co-Manage

If you’re a Janis Pro user, then you’re probably familiar with Janis transcript channels. Transcript channels are customer channels that Janis creates in Slack when Janis monitors a bot and sends alerts to Slack. Each alert includes a link to the customer chat transcript.

As a bot maker, you’ll want to monitor the bot and get alerts so you can fix problems fast. Your client, however, will want to get alerts with a link to the transcript so they can act fast and take over live to retain the user, as well as train the bot to learn from each conversation.

You can see here that Janis will reply to every customer message. Clicking Janis’ reply will load training tools, while typing in the text box in the channel will pause AI responses and send your messages directly to bot users.

One of the benefits of working with Janis is that you can connect an unlimited number of bots to Janis (everytime you want to add a bot say “Add a bot” to Janis), so you can manage all of your client’s bots from a single workspace. You can then link each bot you add to your workspace to a client’s workspace. Think of your workspace like a bot headquarters (or a “Mother Ship”) where you’ll be able to monitor and manage all of your client’s bots from one workspace, but then selectively share each bot with your client’s own Slack workspace. ”Sharing a bot” with Janis means you can collaborate across workspaces.

You might be a large agency with multiple people involved in the project working in multiple workspaces, and with Janis, you can connect everyone together to collaborate on a single bot project, all working from different workspaces.

If you’re an agency, you might be responsible for improving the core mechanics of the bot, but you may not be responsive for taking over the bot and chatting live with end users. Your client would do that using team members in their own workspace. You can see how Janis sends different alerts for actionable events in a conversational experience, and acting on those alerts can easily be delegated in advance to different people involved in managing the conversational experience:

To share a bot, just say Share a bot to Janis and you’ll need to submit the request.

Before making your request to share a bot, make sure your client adds Janis to a Slack workspace first and then we can link the workspaces together through Janis. Note that only the originating workspace where the bot was first added will be the Janis billing contact for the bot project.

If your clients add Janis to a workspace, and you then share their bot from your workspace, only you’ll be billed. This presents an opportunity to not only bill your clients directly for using the Janis service, but you can bill them for setup and even educating your client on how to use both Janis and Slack.

But I want our client to be the billing contact for Janis!

If you want your client to assuming the billing responsibilities for a Janis Pro account, then they would simply add Janis to their workspace first and then share their bot with you.

You should create a Dialogflow agent under your own account, then ask your client for an email address that they would use to sign-in to Google. You would then share the Dialogflow agent with your client. Click into the Dialogflow agent settings, then click the “Share” tab and add the email address that your client would use to sign-in to Google. You would be the ADMIN for the Dialogflow agent, but you would set a role for your client and click the blue Save button and that will add the Dialogflow agent to your client’s own Dialogflow account. No email is sent out to your client, so it would automatically appear in their Dialogflow list of agents when they sign-in to Google.

Note that if the client insists on being the admin of the Dialogflow agent, they could either create the agent and then share with you, or at any point you could click the Export and Import tab, export the entire Dialogflow agent as a .zip file and then email them the Dialogflow agent. They could then import/restore all of their intents to a Dialogflow agent they create.

Step 2:
Instruct your client to either get a Slack workspace and add Janis to it, or add Janis to an existing workspace if they are already working in Slack. Janis will walk them through the setup (or you can guide them through that). When they sign-in to Google, at the step where Janis wants to connect to a Dialogflow agent, then they would see their Dialogflow agent in the list.

Step 3:
The last step in the Janis on-boarding is to select a bot platform and Janis will give instructions and a link to connect a bot to Janis. They would provide you with the link to connect the bot. You would then add the link to the bot and test the connection.

Step 4:
Your client would then say Share a bot to Janis and make a request to share their bot with YOU, the bot maker. Your client would assume the billing role with Janis and you’ll both be able to collaborate with Janis from separate workspaces.

Sharing a workspace

You might want to set up a dedicated workspace for a bot project because neither you, or your client want to mix customer interactions with your internal communications. So, you could always set up a dedicated Slack workspace for the bot project, you and your client join that workspace, and then you can both toggle to the workspace. You’ll see how Slack makes all of your workspaces easily accessible from the left navigation.

The yellow icon represents the active workspace, while you can toggle quickly to other workspaces

Maintaining separate workspaces is one way to keep communication channels separate, but keep in mind that a Janis Pro account is tied to a workspace, and if you have multiple workspaces for each of your client projects, you will be billed for each workspace. A more profitable strategy for you as a bot maker might be to add all of your client bots to one workspace, then sharing your client bots with other workspaces. You might bill each of your clients for the Janis service directly, while your cost to Janis will only be for a single workspace, so you’ll actually generate a profit by working with Janis.

Before you go…

  • Join the Janis Facebook User Group and meet other bot makers and agencies using Janis and see what strategies are most effective for them.
  • Want to try Janis for free? Click here
  • Want more stories like this? Just subscribe to our blog
  • Kindly Applaud, recommend, and share this article with others if you found it useful!