Thoughts on a Community Management Chatbot

Chatbot hype is over and their forecasted disruptive impact has been tremendously reduced. Nevertheless, I still see some good scenarios where a Community Management Chatbot can help in offline community management thanks to its conversational interface.

One side, it can support community leaders offering “wisdom” about the community management art. Part of my daily job as community builder is to connect with community leaders, asking what’s happening in their groups and I’ve noticed there are similar discussions going over and over. How to start an offline community, best practices to organize its first event, how to find new speakers, venue and sponsors, how to organize more inclusive events etc. A community management chatbot can offer insights on them when triggered. It’s far more scalable than me, available 24/7 and I can dedicate time saved to more specific and in-deep requests.

On the other side, the chatbot can help community builders providing alerts, suggestions and action items for their daily job. Sending alerts on communities that have not been doing event for lot of time, upcoming events requiring attention, the next communities to get in touch with, retrieve reports, show internal community success metrics, etc. In addition, these conversations can happen in a ChatOps scenario, to create a Community Management ChatOps workflow with my colleagues!

To summarize, and looking from two angles, the community management chatbot targets and the level of knowledge it has about their communities, we could have this potential features quadrant:

Community Management Chatbot Feature quadrant

Let’s see some concrete examples for community leaders target.

Community Management chatbot for community leaders, with no community knowledge

There are two learning paradigms: a pre-Internet-and-search-engines: read, memorize and hope, when you need that information, you’ll remember it or where to look for it. Then, the post-Internet-and-search-engines: you search what you need when you need it, without too much previous knowledge on the topic.
The majority of community leaders I know haven’t studied the art of community management, so they use the second approach trying to solve their community needs. Unfortunately, search engines return results too generalist or inappropriate for lot of those “basic” questions. The community manager chatbot could be used as a sort of improved search engine.

Any person can ask, for example, “how to organize my first community event?” or “how can I search for speakers?”, or “what can I do to increase retention rate of my community?” and so on. Ideally, the bot should give at least one actionable item for every reply to keep the human side engaged, asking also for more information to contextualize the request and offer more refined answers. Follow a potential conversation script:

User: “Hi, I need to organize an event”
Community Management Chatbot: “Great, it’s the best way to keep your community active and well perceived in the local context. Do you already have a venue?
User: Yes
CMG: Perfect, so you need content to present. Is the agenda defined, or someone presenting something?
User: No. How can I find a speaker?
CMG: I would suggest to first look around you. If your community is not new, you may ask their members if they wanna present something. Or you can find speakers talking at similar events, reach them and ask to talk at your event. How old your community is?
User: it’s brand new, it’s my first event.
CMG:  I see. You may look for speakers in conferences with the same focus of your community and happened in your country. Once you have that list, you can try to reach them proposing to come and speak at your first meetup. You never know how much people are happy to help a new community, especially local speakers!
User: I’ll do, thanks.
CMG: See you soon!

The bot is open to everyone and doesn’t need to remember conversations or user details. It comes to my mind a model similar to a text adventure, where the player (the community leader) explores a dungeon (the first question) gaining items (the replies to their question) while choosing where to go (the follow-up questions the bot makes to better contextualize).

To make things simpler, initially such bot can help only on a specific set of questions and, over time, it can learn more and more about the art of community management, broadening its expertise and the support able to offer.

In term of technology, I’m already doing some tests using DialogFlow to understand what user says, a Google Doc with the conversation script, so it’s easily editable and with no tech knowledge, and a Python backend to match user intents detected by DialogFlow with script sections in the doc. Still in a too early stage to share, but If you’re interested in helping, ping me!

Community Management chatbot for community leaders, with community knowledge

If the bot knows data about the community led by the person interacting with it, it could be more proactive and focused. Data could be retrieved connecting the bot with the community account on Meetup.com, or Facebookm or other sources. Here an examples of a data-aware interaction:

User: Hello!
Community Management Chatbot: Welcome back Alfredo! I see yesterday event was a success, with more attendees that the average: well done! Have you already sent the follow-up email?
User: Mmmm, not yet.
CMG: Please do it, the sooner the better, especially if you want to have reliable feedback from the attendees. Here a simple template you can use (link)
User: Thanks. Anything else?
CMG: A couple of things. It seems you’re alone in leading the community, is that right?
User: Yes, I’m the only one now.
CMG: So, at this point and after the events you’ve made, I would give high priority to find a co-organizer. It seems an hard task, but the benefits are enormous. Have you noticed if someone has come over and over to your meetups?
User: Yes, there are two people who I see often at my events.
CMG: It’s a start! What about asking them to give you a hand for the next event? They could find a venue or a speaker, taking care of the catering, post on social media about the event and much more. Small tasks, but if they help you and keep helping, they could be open to run the community with you.
User: Any other way?
CMG: Of course! You can also …

In this scenario, the bot is able to offer more focused suggestions and proactively ask questions to the community leader, based on the data it has and on community best practices applied to that data.

I have still no idea on how to make such bot, but narrowing the scope to a particular kind of community (Google Developer GroupTwitter Developer Community, etc) can help a lot in the data collection tasks, and the bot can connect a user to their community with a simple question during the first interaction. It would be great if Meetup.com can offer this service, for every community it hosts (or with a Pro account).

I’ll talk about the higher quadrants, chatbot for community builders, in a follow-up post. Any thoughts so far?

 

FullContact to sync LinkedIn connections into Google Contacts

Meeting and talking with people is part of my job, and I’m generally good in remembering faces, but when it comes to names and some facts to help me reconnect and discuss, my memory is a huge, black and empty hole. And it’s embarrassing. I solved the problem using a mix of Google Contacts and LinkedIn, glued together by FullContact, with offline support and smallest effort my side to keep everything running.

First, I identified my core needs: a way, well-integrated with my Android phone as the only device I can quickly check in similar situations, to see faces, names and notes of people for a given category, working offline and with the possibility to change information on the go, so I can update them just after a chat.

At the beginning, it seemed the perfect scenario for a CRM. After some investigation, I changed my mind because all the software I checked, even the ones with a personal CRM attitude, were overkill, not always well-integrated with the rest of the Android system, and often required connectivity to do even the simples query or edit.

So, I tried to leverage tools I were already using, and Google Contacts, after all, met all my requisites. But how boring is to create a contact and fill details for every person I want to remember? Considering I used LinkedIn to map all my work-related relationships, I thought the native integration between the two could have been the solution, but I was wrong: I discovered then contacts sync between LinkedIn service and Google did not add new LinkedIn connections into Google Contacts. On the other side, the connections sync feature offered by the LinkedIn Android app creates a read-only address book in Android, where I cannot add more details to these contacts and categorise them. Finally, I didn’t want to see all my LinkedIn connection in my address book.

Luckily, LinkedIn allows to export all of your connections (plus other info) on a CSV file. And then a touch of magic happened: I discovered FullContact, a service to manage and enrich contact information, said in a very reductive way. Among the many, many features, it is able to sync with Google Contacts and import LinkedIn connections. All the pieces were finally in place. Here what I’ve done.

First, I created a FullContact account and synced it with my Google account from “Sync Settings – Add New Email Account”: once done, the two services shared the same contact lists, and changes made in one were reflected into the other. Just after, the FullContact magic started: the existing contacts were enriched with tons of useful information, starting from the profile picture (one of mine main needs), company data, social profiles and much more. It’s also possible to add Twitter info once connected an account. In addition, I consider FullContact contact editor slightly better than Google Contacts one. Special mention the many integrations with other services and Enrich API they have.

Then, from LinkedIn, I exported my connections, downloaded the resulting CSV file and imported into FullContact, from “Sync Settings – Add LinkedIn Connections”, and selected the “Update Existing Contacts” option to import all the LinkedIn connections in the special LinkedIn FullContact address book, without adding them to Google Contacts yet.

Add to Synced Contacts option in FullContactAfter that, the very unique boring part: I had a very long list (900+ items) of contacts in my brand new LinkedIn FullContact address book, and I wanted to sync only some of them also in Google Contacts. So, I went thru this list selecting “LinkedIn” in the FullContact “Tags” menu and, for each one, selected the “Add to Synced Contacts” option if I wanted to have that contact always at my fingertips during events. Contextually, I added it also under the desired category, in my case “Community Managers and DevRel”.
FullContact enriched also these new contacts with additional information, and synced everything back to Google Contacts. Magic, as I said! To be 100% sure everything was aligned, I also opened the Google Contacts app and checked in the “Duplicates” section if there were duplicates FullContact wasn’t able to spot.

Now, when I’m at a “Community Manager and DevRel” conference, where I meet people I see once every year if I’m lucky, a quick glance to that label under my Google Contacts app on the phone and I have names, faces and other info back to memory. Plus the edit field ready to register some interesting information.

Every month or so, I import again LinkedIn connections into FullContact, select the “LinkedIn” tag in the Tags list and select “Sorted by Date Created”: a quick look only at the new ones on top of the list is enough, if I want to add some of my new connections into my Google Contacts.

During the journey, I discovered also Hubspot, that seems to be a very good CRM, and Pipl API, a service to enrich a contact using via an API.

Conferences for community managers in 2018

Chairs in a conference room

As per every job, it’s important to be part of a network of like minded and professionals with similar skills. What are the conferences for community managers, leaders and builders worthwhile attending in 2018?

FOSDEM Community DevRoomFebruary 3, Brussels, Belgium: Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels.

DevXCon, June 4 and 5, San Francisco, California: DevXCon is the practitioner-to-practitioner conference for developer experience and developer relations. Come hear the best practices and pitfalls for end-to-end developer evangelism, onboarding and success.

Community Leadership Summit, July, Portland, Oregon: The Community Leadership Summit brings together community leaders, organizers and managers and the projects and organizations that are interested in growing and empowering a strong community. The event pulls together the leading minds in community management, relations and online collaboration to discuss, debate and continue to refine the art of building an effective and capable community.

Swarm Conference, August 30-31, Melbourne, Australia: Founded by practitioners, Australia’s flagship community management conference connects local builders, thinkers, managers and makers with top international talent for two days of learning, collaboration, inspiration and outcomes.

TheCR Connect, October 1-2, Boston, MA: TheCR Connect is exclusively for community practitioners – those engaged in the development, implementation, management, and measurement of community initiatives. You might be a community manager for a 5,000 person internal community, the community specialist at a start-up, or the director of community for a Fortune 500 brand. TheCR Connect is a vendor-free event to ensure that open conversations can happen between community practitioners.

CMX Summit, October 1-3, Portland, Oregon: Communities change the world. Over 3 days, CMX Summit seeks to expand discussions, techniques, and tactics applied to community building for businesses and support communities and their builders (you!) at scale. You’ll gain insights from the best in the industry and make lifelong friends.

Open Source Summit Europe, October 22-24, Edinburgh, UK: the leading conference for developers, architects and other technologists – as well as open source community and industry leaders – to collaborate, share information, learn about the the latest technologies and gain a competitive advantage by using innovative open solutions – Community Leadership Conference

DevRelCon London, November 8, London: DevRelCon and DevXcon is an international series of conferences for people who build developer communities and developer experiences. There are also other events in China, San Francisco and Tokyo.

FeverBee – Community SPRINT: Unfortunately, they’re not planning to organise any SPRINT in Europe this year

If you’re a community manager, living in Italy, please consider join the Italian Community Managers group, as we organise several event across the year, included 2 main conferences in Milan and Rome, to discuss about these topics.

Any other important occasion missing in this list?

Google Developers community management culture

Working with communities, at scale, means working with a decentralized team of people in different geographies, with a similar, but diverse, professional background and expertise level. One of the few working strategies to keep all of us aligned on main goals, while fostering local ideas and adaptive strategies to better fit the local ecosystem, is to define and maintain a common team culture. Recently I was asked to present what is the Google Developers community management culture and key insights in front of our team of community builders, people like me in charge of supporting tech communities all over the world that want to share knowledge on Google technologies during their activities. Here a list of my main takeaways.

Why we do what we do and what is our role?
Dev communities help to solve the growing complexity of the technological landscape, adding a very unique social flavor. So, as community builders, we accelerate learning, cultivate culture and collaborate with communities on a shared mission and goals. We help them to be more successful because, ultimately, this helps Google dev products to be more successful. And because we love communities.

Community leaders first
We should already be used to the “User first Google’s philosophy principle. In our case, it translates to “community leaders first“. They are our primary focus, and should be treated with respect. We have to build a two-way and mutually useful relationship. All the rest follows.

Embrace goal diversity and work on the sweet spots
We have to recognize, and acknowledge, community leaders are driven by their own goals and reasons, and our company goals cannot be pushed to them. Instead, to keep this relationship prolific and sustainable in the long period, we have to base it on collaboration and independence, searching for overlaps in goals and build on these sweet spots. And we should be the first ones doing that. Sooner or later, opportunities will come.

Be a transparent and servant community builder
Community leaders know very well we don’t do this for charity. Like any trust-based relationship, it’s important to be transparent with them and communicate openly. We’re here to serve them, and not the other way around, as communities can exist without Google support, but we cannot exist without communities.

Treat them equally, as the ecosystem is our highest value asset
Some communities are more mature than others, some are quicker to execute, some able to have a bigger impact. It doesn’t matter, because what we value the most is a healthy growth and development of a vibrant community ecosystem. So they all are our beloved community leaders and we need to support all of them in the mid-long term, regardless of how they could help to reach our goals in the short team.

First save their time, then ours
In case we need to make a choice between saving our or their time, pick theirs: we’re paid to do this job, they volunteer their time. First, we need provide a coherent system maintained by a culture to interact with us, avoiding community micromanagement: in the long period, it will save a lot of time on both sides. Then, we can always optimize something: write easy-to-read, timely and useful communications, avoid asking data useful only to us, etc. Finally, if they don’t know about our initiatives, or they missed something, we assume it’s our fault.

Be data driven and restless student
Getting meaningful data out of communities is hard, but it doesn’t matter. A better knowledge of the community ecosystem helps us to make more informed decisions. We can be brave community builders, trying new things to improve our culture of community management one step at time, relentlessly, for the good of our communities and for a better collaboration with them. Every time we collect a new learning, positive or negative, we should share with each other.

Have fun
This job keeps a consistent part of our life busy: make the best out of this time, having fun while cultivating our passions.

If you’re curious about my life in Google, there are other posts to read.

How to structure useful 1:1 with your team

One of the core components of my manager toolbox is the 1to1 meeting (or 1:1, or one-on-one, or 1on1, face2face, f2f, …), a recurring appointment each team member has with me. How to structure and get the most out of it?

At the beginning, it’s important to set the reasons to spent this time together and the tone. The meeting is all about the team member: their needs, frustrations, feedback, ideas and career growth are the topics of discussion. The 1:1 is a chance for the team member to bring the problems them need help with, and a chance for me to learn more about their work. As consequence, I empower them to be the owner of the agenda and structure it around a unique, core, question: “What can your manager be helping with?

Once the objectives are clear, I set the cadency of the meeting to create an habits, generally weekly and one hour long. Unless something more urgent happens: rush hurts the quality of the conversation, so better postpone to a less busy moment, or shorten, or even make a phone call if there is something urgent to discuss and other conflicting activities.

Especially for the first times, I prefer to use a format that facilitate the discussion centered on the previous question. To make everything more collaborative and transparent, I have a shared and confidential document with every team member that we can both pre-populate, with this general structure for each meeting we have. The use of “you” is important to empower the team member, instead of a more abstract 3rd person.

  • Challenges: Leverage manager support to remove roadblocks and enhance your impact, receive coaching and guidance in areas where you have a challenge
  • Issues and Concerns: make manager aware of any personal or professional issues you have
  • Review core and project progress: an opportunity to demonstrate your impact, to share what’s going on and what’s coming up
  • Performance expectation and feedback: from the manager, to the manager
  • Career and personal development: support in developing your career, skills and knowledge
  • Misc (Out of office, lead updates, other unplanned discussions)

It’s important to constantly remember the point on career and personal development and, once in a while, it becomes the main topic of the meeting. Again, to facilitate the discussion, it can be useful to have a career worksheet template to use as base, touching these main areas:

  • Personal reflection
  • Goal setting
  • Action planning
  • End-of-quarter retrospectives

As final touch, I remember the team it’s always possible to change the structure of our 1:1 and they can schedule extra 1:1s outside of our normal schedule, as I’m here to serve.

Bonus activity for one of the 1:1: ask the reasons they do what they do.

What does a Developer Relations Ecosystem team do?

Some companies have evolved the Developer Relations area to a point they have a specialized orgs. Google is one of them, and I work under the Developer Relations Ecosystem team. What does we do?

Sticking to the broader DevRel goal (see the definition from my colleague Reto), I consider ourselves a connection layer. On the one side, there are the different Google Product Areas (PAs) like Android, Cloud, Assistant, etc, and we solve for them the complexity of dealing with local tech ecosystems. This scales global initiatives by engaging local developers. On the other side, that “articulated” tech ecosystem, where we’re often seen as the “last mile” between them and Google, brings valuable insights back.

How do we connect these two sides? We apply a 1:few:many interaction model. I see us (the one) as “passion multipliers“. We take Product Areas goals and, with a touch of magic, translate them for the “influencers” in their local context (the few), supporting them in doing even more of what they love doing. It could be organize tech communities, share their knowledge on Google techs, run amazing 3rd party tech conferences, solve people’s needs in innovative ways using company’s products, deliver best apps to clients and much more.
The more successful our audience is pursuing their passions, the more vibrant, mature and fun the company 3rd party tech ecosystem becomes (the many). A win-win situation I love and a way to implement Google’s philosophy “Focus on the user and all else will follow”.

We’re a tech team in the relationship business, at scale. Thanks to the trust component of our relationships, we have the rare privilege to be exposed to global and reliable first hand insights about developers all over the world. They let us know who they are and where they are; what they love and hate about our company’s technologies; emerging and descending trends; how they’re organising tech communities in every country; their success stories supported by our technologies. Because of this knowledge, we can be even more effective in building relationships and matching PAs needs, creating a virtuous circle.

Diversity is also deeply embedded in our team culture: there isn’t a project that can scale worldwide without considering how diverse the world is. For example, mentorship activities are very effective in some cultures, and totally against the mindset of others; developer and community dynamics in cities with millions of people are very different from cities with thousands; running a hackathon in Italy is different from running one in Nigeria, etc.
So, we naturally recognize the value of diversity and we focus on it, across our programs and audiences. What does diversity mean? Gender, culture, race, religion and many more.

From a team structure point of view, we approximated the complexity of the tech ecosystem splitting it in several audiences, like tech communities (GDG and all the other communities), Tech Experts, Startups and their developers etc.
Thus, we created work streams to deal with each one of these audiences, organising ourselves around two main roles. One gathers Program Managers that work on these streams at a global level, defining the infrastructure, strategy, goals, tools, budget etc. The other is made by people like me, called Regional Lead, in charge of executing these programs locally. It’s the implementation of “Think globally, act locally” strategy.
Maintaining a bi-directional communication channel between the roles is fundamental. Global work streams cannot evolve without the inputs, knowledge and experience from the local ecosystems provided by regional leads, while high-level directions from global allow us to operate in an aligned way despite we spread all over the world.

The most difficult challenge is linked to Ecosystem’s core: in fact, building these relationships at scale is a never-ending, tailor-made and time-consuming process, as the ecosystem is a living creature in constant evolution. In addition, after a certain point, we suffer from “reach-ability bandwidth” saturation: we simply cannot interact with additional people anymore and with all the amazing stuff they’re doing.

Apart from company PA goals, I personally see another important behavior for being a good citizen of the ecosystem we deal with: act as superb connectors. Pentland wrote in his book “It is not simply the brightest who have the best ideas; it is those who are best at harvesting ideas from others. It is not only the most determined who drive change; it is those who most fully engage with like-minded people. And it is not wealth or prestige that best motivates people; it is respect and help from peers.
Connecting people with similar passions helps the ecosystem to grow and improve in the mid-long term. It’s something you cannot control or measure, but years later, someone that has done something worthwhile your admiration will tell you: “Thanks to your suggestion all those years ago, I’m here now”. Priceless and crucial, this is one of my duties, and my passion!

If you’re curious about my life in Google, there are other posts to read.

Improve the Italian community management landscape

There is one element we’ve heard loud and clear from the retrospective of the three CLSxItaly events organised so far and attendees feedback: the Italian community management scene is in its early stage, with fragmented connections across the “professionals” of this world, especially if compared with other European countries. I have no doubt time will improve the current situation, but simply waiting for the good to come is something outside my way of doing. What if all these community managers working in and/or for the Italian landscape are dots, and we can do something to accelerate the organic process that will better connect them over time?

At its core, CLSxItaly platform was born with this vision in mind, but in-person events alone haven’t provided the speed we expected. So,we decided to start a new project, to proactively scout, highlight and connect all these people and strengthen relationships inside this community of practitioners we all are part of. Please welcome the CLSxItaly interview series.

The idea is to run a short interview with the many people working with communities in Italy, transcribe these conversations and give them back to our community. Here the list of the question we want to ask:

  • Who you are and how are you connected with the Italian community landscape?
  • What’s the best thing you’ve seen happening inside the community, or thanks to it?
  • What has been the toughest challenge you’ve managed building the community?
  • What’s your best tip for a person that wants to start as community manager/leader/builder, for profit or for fun?
  • If you had a magic wand, what you would change or improve in the Italian community management scene?
  • What’s your community superpower? (thanks to Community Roundtable podcast folks for this question)
  • Who is the next person you know we should interview?

As you can see, nothing terribly complex, probably the conversation will end in less than 10 minutes. Of course, feedback to the questions are welcome.

So, there is a simple call to action if you are a community manager working in or for the Italian context: please reach me (or any other member of the CLSxItaly team) and we’ll be happy to have with you such conversation. Or suggest us one of these people to interview, if you aren’t. In any case, see you at the forth CLSxItaly, Nov 25th in Rome.