Join Transform 2021 this July 12-16. Register for the AI event of the year.
Bring your team into Figma to get their feedback and open up your design process. Use our productivity integrations to make sure they can also find your design files wherever else they work. Figma is a web-based design tool with real-time collaboration. And even integrate with Slack. Developer Handoff. Devs can get dimensions, styles, and download.
News this week that Salesforce is acquiring Slack has a lot of people opining on the pros and cons of such a merger. But one thing is clear: combining the collaboration functionality of Slack with the sales productivity tooling of Salesforce represents a monumental step forward in the history of enterprise software.
My team at Emergence Capital have been students of the cloud since we invested in Salesforce in 2002. Ever since, we’ve exclusively focused on enterprise software, partnering with productivity leaders like Box and Veeva as well as collaboration leaders like Yammer and Zoom.
However, an unfortunate truth has emerged as the cloud has matured: Collaboration software is increasingly at odds with productivity. As the number of apps in both categories has exploded, there’s been a huge uptick in data loss (and frustration) as workers pivot across apps to get their work done. It’s tough to stay in flow when you’re constantly forced out of it by your tools.
The solution: Deep Collaboration
Collaboration and productivity tooling evolved separately. The move to remote or hybrid work is the catalyst we’ve needed to fuse them. We used to rely on collaboration tools for lighter weight tasks — updates, check-ins, gif sharing, etc. — and reserve deeper, more substantive collaboration for in-person meetings. The old stack (mostly) worked for that approach.
In a world where deeper collaboration is being done remotely, we need a new stack. Collaboration tooling can’t be a destination. It must be embedded in the work itself.
My team calls this stack Deep Collaboration. The term refers to software that combines productivity and collaboration functionality in one place to get a specific job done. In a Deep Collaboration future, a person doing a specific task doesn’t have to leave a single piece of software to get that job done. All the productivity and collaboration (both internal and external) features they need to accomplish a task live in the same place.
Combining the Salesforce product with Slack is a huge boon for folks tasked with selling something. Today, many of our portfolio companies’ sales teams create internal Slack channels to collaborate on each deal. Increasingly, they’re also creating external Slack Connect channels to collaborate with customers post-sale. But they’re tracking and forecasting these deals in Salesforce. This information fragmentation can slow sales cycles, make deals harder to forecast, and cause sales rep burnout.
What about Google Docs? Isn’t that Deep Collaboration?
No. Microsoft and Google have added great collaboration features to their productivity suites over the years. However, both are generic, non-job specific platforms. As such, they’re limited in their ability to be the one place a specific job gets done. And thus in their ability to mitigate data loss and “command-tab” driven frustration.
Take forecasting, planning and analysis (FP&A), for example, a critical finance function that is highly dependent on gathering data from, and then sharing analysis back with, functions across an organization. Finance folks today rely on Excel and Google Sheets, but these generic tools lack FP&A-specific features like version control, granular permissioning, and planning modules needed to effectively collaborate. Cube, founded in 2018, embeds collaboration and sharing capabilities into its FP&A tool.
Figma Slack App
Or in the field of legal contracting, MSFT Word and Google Docs allow you to redline and comment on contracts but lack deep, job-specific productivity workflows, like permissioning and approvals. Ironclad, founded in 2014, adds contracting workflows and internal and external collaboration features around Word’s text editor. (Disclosure: My firm is an investor in Ironclad.)
Those are just two examples from a promising crop of Deep Collaboration companies that also include Workstream (BI analytics), Layer (spreadsheet workflows), Mosaic (strategic finance planning), Basis (financial forecasting), Figma (design), Maze (product research), and more being built to tackle this challenge.
Focus on the job to be done, not the persona
One of the most exciting elements of successful Deep Collaboration companies is that they unlock substantive cross-functional collaboration because everyone can be close to the work itself.
That’s because Deep Collaboration companies focus not on building for a specific persona (e.g., sales person, designer, etc) but instead on building for a specific job to be done. Most high value jobs to be done involve people from a variety of departments. This new stack allows them to work together in deeper ways.
This is a major departure from how software has traditionally been built. Salesforce, for example, was built to serve sales people, with a UI and data architecture focused on this persona. But the job to be done of selling is an inherently cross-functional task. Marketers are involved in landing the lead and creating deal collateral. Engineers are involved in demo creation and potentially configuration. Product managers are constantly seeking feedback from prospects. The Slack acquisition, if integrated well, could allow for collaboration and data sharing across these functions, helping Salesforce graduate from the old persona-based paradigm.
Figma is a great example of a Deep Collaboration company executing on this new paradigm beautifully. Figma is focused on the job of designing something. In the old paradigm, designers were effectively the only persona involved. They’d download expensive software from the Adobe Suite, edit files, and then save versions of these files to Dropbox and send links to other designers. They may also have Slacked/emailed/etc comments about their design alongside the file. Unsurprisingly, this approach led to version issues, lots of metadata loss, and very little involvement from personas outside the design team.
Figma turned this on its head, democratizing the design process. It built the design suite as well as the collaboration suite natively in the browser, leveraging technology like WebGL to make it feel seamless to design together. They also priced it to ensure spread across an organization, distinguishing between paid editor seats and free viewer seats. As a result, Figma is the place where each persona involved in product design, from product managers to engineers to marketers to designers, goes to collaborate. It’s quickly becoming the place where the job of design gets done (though its competitors have taken heed and are moving to this paradigm as well).
Above: An example of Figma’s real-time collaboration features.
Another great, earlier stage example of the cross-functional benefits of Deep Collaboration is Maze. Maze is focused on the job of product research. In the persona-focused paradigm, this is a siloed task in which each relevant function uses its own tools, without much in the way of collaboration. Product managers use tools like SurveyMonkey to gather input on feature ideas. User researchers interview people interacting with product prototypes. Marketers use tools like Optimizely to test copy performance (often after the product investments had already been made). This results in a disjointed process, siloing key insights within functions and making for suboptimal products.
Above: A Maze screenshot highlighting the breadth of product research tasks addressed as well as the teams collaborating on them.
Maze is focused on bringing all the tooling needed for product research into one place. It makes large-scale prototype testing dead simple, enhances traditional surveying tools with product-specific functionality, and allows for copy testing before a product goes live. Perhaps most important of all, Maze allows each persona to view and collaborate on the results of their research. As a result, the whole team can test and review each point of decision in the product creation process, creating strong alignment and cross-departmental accountability.
A core question to evaluate the efficacy of Deep Collaboration software is this: What portion of the job to be done in fact gets done within the software? In other words, how much app switching must occur to get the job done? How much data loss is there? The most successful companies of this next era will become the room where it happens.
Over time, productivity software has gotten progressively more tailored to the end user. Collaboration software is overdue to follow suit. With the Slack/Salesforce mashup, the Deep Collaboration future is arriving a bit faster.
Jake Saper is General Partner at Emergence Capital.
VentureBeat
VentureBeat's mission is to be a digital town square for technical decision-makers to gain knowledge about transformative technology and transact.Our site delivers essential information on data technologies and strategies to guide you as you lead your organizations. We invite you to become a member of our community, to access:- up-to-date information on the subjects of interest to you
- our newsletters
- gated thought-leader content and discounted access to our prized events, such as Transform 2021: Learn More
- networking features, and more
GitHub Readme.md
Automatically post updates to a Slack channel each day with the updates from a Figma file's version history. View example
- Setting up
- Heroku
- Figma
- Slack
- Figma Version History
Setting up
Heroku
Deploying the Heroku app
- Click the Deploy to Heroku button
- Give your Heroku app a name
- For the Config Vars section, proceed to the Figma and Slack sections of the README in order to obtain your
FIGMA_FILE_KEY
,FIGMA_PERSONAL_ACCESS_TOKEN
,SLACK_CHANNEL_ID
,SLACK_TEAM_ID
,SLACK_USER_ID
- Click 'Deploy app'
Setting up your Heroku app
- After the deploy is successful, click on 'Manage App'
- Click on 'Heroku Scheduler' in the Installed add-ons section
- Click on 'Create job'
Customizing your job
- In the Schedule section, set the interval to 'Every day at...' and choose a time (in UTC) that works best for you
- In the Run Command section, set the command to
python update.py
- Click on 'Save Job'
Testing that it worked
First, in the Figma file that you grabbed the file key for earlier, make some changes and create a version.
- In the dashboard for the app that you created in Heroku, click on 'More' in the top right corner, and then 'Run console'
- Enter
python update.py
and click 'Run' - Your changes should be posted to Slack 🎉
Now that you're all set up, your Slack channel will receive updates every day at the time you've selected your Heroku Scheduler job to run (assuming changes were made in Figma).
If there was an issue while running, first make sure to double check that your Config Vars are correct in the Settings section of your Heroku app. If you're still running into an issue, be sure to create an issue.
Figma
Get a Personal Access Token
Figma Slack
- While logged into Figma on the web or the desktop app, visit your Account Settings
- Under Personal Access Tokens, click 'Create a new personal access token'
- Name the the access token whatever you'd like, for example:
figma-slack-updates
- Copy the token - this is your only chance to do so! This is your
FIGMA_PERSONAL_ACCESS_TOKEN
Get your file key
Visit the Figma file that you'd like to post updates for and copy its file key
. The file key can be found when you copy the file's link or visit the file on the web: figma.com/file/file key
/... This is your FIGMA_FILE_KEY
Slack
Create a new Slack app
- While logged into Slack on the web, visit Your Apps
- Click on 'Create New App'. Give it a name and a team to post in.
Activate Incoming Webhooks
- After the app is created, visit Incoming Webhooks
- Turn the Activate Incoming Webhooks toggle on
- Under Webhook URLs for Your Workspace, click 'Add New Webhook to Workspace'
- Choose a channel for the Slack app to post updates to
- Under Webhook URLs for Your Workspace, take note of the code inside of 'Sample curl request to post to a channel'. There are three pieces of info to copy from the URL: the team ID, user ID, and channel ID. hooks.slack.com/services/
team id
/user id
/channel id
. In sequential order, these are yourSLACK_TEAM_ID
,SLACK_USER_ID
, andSLACK_CHANNEL_ID
Figma Version History
Publishing changes
In the Figma file that you set up to post changes from, you can either publish your component changes or create a new version in your file's version history. Both of these kinds of changes will be posted to Slack.
Note: The 'Description' field for each of these is required in order for it to be posted to Slack. If there is no description provided, the changes won't be mentioned in Slack.
Slack updates
Slack posts will happen every day at the time you've selected your Heroku Scheduler job to run (assuming changes were made in Figma). They'll appear with the date of the changes, followed by a list of all of your changes for that given day.