Best Practices using Slack with Partners
I wrote this article in response to a new question that’s been arising lately: how can I best use Slack to communicate with my partners? That could be Salesforce communicating with an ISV (independent software vendor) or SI (system integrator), or both. These discussions vary from registering a deal, asking for AE (account executive) contact info, to logging support requests. Likewise, ISV or SI partners can use Slack similarly with their customers.
(Psstt! We are building the Centro Hub with all of this in mind: more coming soon!)
I’ve seen a lot of ad-hoc behavior around this. What’s the best way to coordinate in Slack? How to best set behavior and etiquette expectations? How will we not make a mess out of our Slack workspace?
I’ll break this article down into two sections: Best practices and a How-To guide.
General Best Practices
1️) Channel naming conventions
Consider standardizing the channel naming conventions in Slack so that it’s easy to find and sort them later. I’ll be picking on TaskRay and Formstack in my examples (a couple of my favorite ISVs). Ideally, you have them based on topic:
- General internal discussions about an ISV: “isv_<isv_name>. Ex: ”isv_taskray“
- External discussions with an ISV, preface with “ext”. This is common at Slack corp: “ext_isv_<isvname>. Ex: ”ext_isv_taskray“
External channels should be created with the feature “Slack Connect”. I’ll go into this in detail in a bit.
You may consider having the following types of Slack Connect channels with ISV partners (I’m plugging in TaskRay for simplicity):
- ext_isv_taskray_main — General discussion with the partner, public announcements, triage questions, etc.
- ext_isv_taskray_deals — Trade information about specific deals with partner. If the channel becomes busy, use threads for each deal discussion.
- ext_isv_taskray_support — Support questions for Salesforce and for Partner.
You’ll want to invite the appropriate team members to each channel. Don’t bog down the tech team with sales questions, for example!
Further more, once you have a Slack Connect established between partners, you can DM individuals that have been invited for side conversations! I heard recently of an ISV partner paying for a seat of Slack for a Salesforce employee — don’t do this! It’s totally unnecessary with the existence of Slack Connect!
2️) Channel Etiquette and Productivity
Slack can get “messy” in a hurry if not careful. Set the bar right using some of the common practices advised by Slack in their Etiquette badge with the partner:
- Set the Channel Description. This will be displayed for all new members when they join. This is done at the top of the channel. The description should concisely inform the team how to interact in the channel. Include a Quip or Google document with more detail. Example:
- Use Pinned Messages for announcements. Use Pinned Messages as a bulletin board you’d like all users to see, combined with @here or @channel mentions to grab the attention of all members in the channel. Example:
- Profiles, Timezones, and Notifications. Members on both sides span the globe, and keeping their working hours in mind helps set the expectations of when messages may be read and responded to. Consider encouraging members to:
- Set their display name with the company and title they are representing. Example: “Mike Davis (VP Sales @ TaskRay)”.
- Set their timezone preferences on their profile. That way it’s easy to scan if the person you’re about to chat with is online or not
- Threads. Threads can help keep a channel focused while letting deeper discussions happen. They can also be very difficult for members to scan and read. I’d recommend the following:
- Use threads for a specific deal. That way, questions can be asked in the thread without cluttering the main channel discussion.
- Use threads for a specific case. Same as above.
3️) Direct Messages and Private Channels
There’s a saying that in a DM conversation, there’s only 2 people learning from it: reserve DM and Private Channels for only the most sensitive of conversations. Otherwise, the team at large won’t be able to learn from it and the benefit of Slack is lost (you might as well be emailing each other).
4️) Set expectations
It’s a good reminder in the channel to set the response expectations for both side. ISVs can often be eager to share a deal with Salesforce, be involved with Salesforce deals, or get cases resolved quickly. Slack removes a massive barrier that email held up for rapid communication. This can be a good thing, but it can soak up a lot of time in just responding to requests from ISVs. ISVs need to understand that things can take time, and hammering Salesforce with @channel mentions will undermine the ISV’s eagerness. Here’s a few tips:
- Provide an “SLA” guideline in the Quip doc.
- Use emoji reactions to the message. React with 👀 to a message when “looking into it” and ✅ when completed. This helps the team at large know if a request has been “read”. Example:
How to start a Slack channel with an ISV partner? There are 3 major ways:
1️) Use Slack Connect
Slack Connect is the most viable and best way to connect with ISV partners. Plus, it’s free when both partners have a paid Slack workspace. Slack Connect can be shared with up to 20 different workspaces. That means Salesforce, an ISV, an SI partner, and a customer can all be in the same Slack Connect channel at once. Think how effective that can be for all parties! Slack Connect channels are easy to identify with the proper naming conventions described above. The Slack Side bar will clump them together automatically (this can be customized), and will display the double-diamonds:
It will also show at the bottom of the channel which workspaces are involved, and each member will have their logo attached to their avatar. This makes the visual cues of who you are chatting with apparent.
To send a Slack Connect request, simply:
- Create the channel in the Salesforce external workspace, use the naming conventions. Check the “Share outside Salesforce” checkbox:
- Enter the email of the ISV primary person(s) you want to start the channel with:
- Slack will automatically attempt to figure out the right workspace to connect to (hint, use the person’s work email, or ask them which email is associate with their workspace).
- You may also use the “Share Link” to send the invite link.
- Now Slack will alert the Workspace Admins of both workspaces of the Slack Connect request. They will approve or deny the request using SlackBot. Once both sides have approved, the members will automatically be joined to the channel.
2️) Use Single-Channel Guest
A single-channel guest can only participate in the 1 channel you invite them to. They will appear with a small triangle in their avatar, like so:
For every paid member of the workspace, you can invite up to 5 Guest users at no additional cost. Slack will automatically invite them as guests if they cannot be invited via Slack Connect.
3️⃣ Use Multi-Channel Guest
A multi-channel guest is effective a full member of your workspace, with restrictions around installing apps, creating channels, etc. They can be invited to as many channels of your choosing. This is useful if you have more than 1 channel you’d like the person to participate in. They will be charged as a full member of your workspace however.
TLDR, My recommendation:
Start with a single channel for ISVs to start with. Use the naming convention “ext_isv_<parntername>_main”. Invite the appropriate users via the Invite External Users feature. It will attempt to use Slack Connect, and revert to Guest Users. Set a channel description with a link to expected behavior in a public Quip document. Pin a welcome message, and engage in deal or case discussions in threads. Add more Connect channels as you expand to more areas of the business.
How to get started?
I’ll outline three levels of applying the principles above. Basic Level will get the ball rolling, mid-level to start being more efficient, and advanced to really streamline your communication and workflow!
- SF PAM, TAM (if applicable)
- ISV Alliance leader(s), technical lead
- SF AEs, field team, leaders, support
- ISV AEs, leads, support
Setting up channel and permanent members
- Create the Slack Channel: “ext_isv_<partnername>_main”
- Set the channel description per the guidance above. Link Quip document with “how to use this channel & guidelines”
- Pin a “welcome message” that sets expectations, reference Quip document again (I find you need to repeat these things)
- ISV Team pins a message with who they are, the problems they solve, use cases, etc. Update linked Quip document as well.
- Invite the ISV team using Slack Connect guidance above
- Identify team members on both ISV and Salesforce with Permanent roles. Pin this message to the channel.
How occasional members discover, join and engage
- SF AEs discover (see note above) ISV solution, join the public channel. View pinned message guidance set up earlier.
- Salesforce AEs post a deal or question in the channel, @mentioning appropriate ISV team member per role.
- ISV partners reply in Thread to original posting.
- ISV partner team engage with SF in similar way, following guidelines in pinned Quip doc
- SF AE can always leave the channel when they have finished their engagement OR mute notifications for that channel.
All of Basic Level, but begin to incorporate Slack Workflows to assist with automation. For example:
- Create an Automated Welcome message for newly arriving AEs who join the channel. This would ensure they see the important info you intend them to in the pinned messages (sometimes people glaze over that info)
- Create a Slack Workflow that ingests info from the AE (Account name, size, solution being sought, etc) in a mini-form within Slack. That will standardize the data for the team to make decisions and allow the ISV to create an opportunity in their org.
Incorporate the Centro Lightning Web Component on each ISV Account. Create and link the Slack Connect channel. That way, it will feel like Chatter which will be familiar. However, they will be able to enjoy the functionality of Slack within Salesforce. Here’s an example
The team can optionally open the linked Slack channel, but the knowledge that the discussion is linked to Salesforce safely would allow:
- Greater visibility to Salesforce AEs, field teams, and leadership
- Searching for the correct channel is far easier and organized
- The ability to summarize the channel content’s to get up to speed quickly
- Have a true bi-directional chat experience
- Have the context of the Salesforce record to have a meaningful conversation
In addition to organizing channels in Salesforce, partners can leverage solutions using Flow, Centro and Formstack. Let’s take the use case of requesting the info for an assigned Salesforce rep to your partner account manager. For the alliance manager, this is normally a cumbersome process. The partner AE requests to be paired with the Salesforce AE on a deal. The alliance manager has to request from the PAM who the AE on the account, then manually update.
For example, in this video, we show the automation of how a partner can send a Slack message to the shared channel, triggered off a new opportunity creation or button press. This message contains a Formstack button which creates a pre-filled form for the PAM to fill out. When the PAM submits the form, the associated opportunity record automatically updates in the ISV org and can inform anyone on Slack, including both AE’s. Formstack ensures no duplicate records are created and instead upserts existing AE info. This is all done with Centro, Formstack, and a little no-coding automation with Salesforce Flows. See sample video below for this automation:
Learn more about implementing this workflow here!
Slack can be a very powerful medium for partners to connect on deals, support, strategies, and more. I hope these guidelines make the connection more streamlined and effective for both parties!