3

Context is everything: building for cross-company collaboration in Slack

 8 months ago
source link: https://medium.com/slack-developer-blog/context-is-everything-building-for-cross-company-collaboration-60b5b7b84789
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Context is everything: building for cross-company collaboration in Slack

How Crossbeam upgraded their Slack app to supercharge partnerships in shared channels

1*TWsplF59yXhOcj5ggzvxpQ.png

At Crossbeam, we make things for people that work in sales and partnerships — just the kind of person that is an ideal user of Slack Connect. Our users often join one another’s Slack channels to help work out deals, explore partnerships, and get context on target accounts, so we knew our Slack app had to be ready to deliver.

When channels are shared between organizations in Slack Connect, a Slack app can no longer assume that all of its users work for the same company. Which meant that was extra important our existing app displayed the right data for the right users in the right circumstances.

In other words, we needed to consider an entirely new context for our app.

Trust is our business

Crossbeam is a partner ecosystem platform — we act as a data escrow service that finds overlapping customers and prospects with your partners while keeping data private and secure.

Those “private” and “secure” parts are everything. One of our core values is “trust is our business” — our users need to be crystal clear that the data they are sharing with partners in Slack Connect are seen by the intended recipients.

1*cDSfQ9E5ocVoAwZSvwQwGA.jpeg

Our users leverage Crossbeam for Slack to share overlapping customers with a partner to see if integration is worth making, or sharing a list of opportunities that overlap with their partner’s customers so they can give a warm introduction into a new account.

Our Slack app will share overlaps and send notifications when new overlaps occur with the use of the /crossbeam command.

However, with Slack Connect, we have to tweak our outputs to be aware of these new possibilities. If your Slack application involves important data, you’ll likely have to do the same. Here’s what we learned to account for:

1 — Always check what kind of channel the user is in

There are now seven types of Slack environments:

1*qJ8Y5S6TKgf04YeLGK8j0Q.png

During development, we needed to make sure that, when sharing Crossbeam data, our application took into account who is in each channel. As an example, if I am exchanging leads with a partner in a direct message, our application can comfortably share. However, if I run the /crossbeam command in a public Slack Connect channel, the amount of data our app will share is limited.

1*k6pXzVTG1xH6X1EKmPLJRw.png

In our Notion, we were sure to write copy for every possible channel set up.

1*XJ8G5e2dR8dGIc_hBW18GQ.png

Our message when users attempt to use Crossbeam for Slack in a Slack Connect channel when only one org has our application installed.

2 — Check what kind of user is running the commands

The channel is the “where” and now we must check for the “who”. Mainly is the user running the /crossbeam command:

  • Normal Slack user
  • Multi-channel guest
  • Single-channel guest

The types of Crossbeam data a user could see depending on their user type. For example, we blocked channel guests from seeing the output of /crossbeam.

3 — Choose “ephemeral” vs “public” states

After /crossbeam is triggered, we first share the results ephemerally (only visible to the user). If the channel members also have Crossbeam installed with the proper permissions, the user is then given the option to post publicly (posted to the channel or DM for members to see and search).

That ephemeral state is important. It gives the user a chance to confirm the output of the command before sharing. And in select cases, they won’t be allowed to share. For example, if the channel contains a multi-channel guest, Crossbeam’s Slack app will not allow public posting from the /crossbeam command.

1*sjnpFpK8o7qX-rgnm8-7MA.png

The “only visible to you” denotes the “ephemeral” state.

Each output requires separate design states and copy. Using Slack’s provided Block Kit our team was able to make multiple versions of the /crossbeam output as well as the proper warnings letting the user know why they cannot share Crossbeam data

1*h55t5mIPPnsAACDbCkQtSw.png

4- Don’t skimp on testing

And lastly, before you get too far into the code, have the right test environment. You’ll need at least:

  • Three Slack Orgs, with one in the Enterprise Grid
  • Each with multi- and single-channel guests
  • Each with shared Slack Connect channels

And it helps to have several developers and designers hopping in using different test accounts. However many outputs you have for your app, test using all users with all channel types.

The end result was Crossbeam For Slack, one of the launch partners of Slack Connect!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK