Warning: Bad Avocado Puns Ahead

As Community Manager at SparkPost, I believe my job has two major parts, or halves. It’s as much about promoting and building the community inside of SparkPost as it is interacting with those of you who are using our product. In the rare moments when those two parts of my job connect (just like the pit connects avocado halves), you’ll see me doing a happy dance like this around the office.

I had one of those moments when I sat down to figure out who won our first annual Avocado Points trophy. If you’re feeling a little lost, just hang on. I’ll explain how folks earned points, why we’re giving away Avocado Points in the first place, and how my team is truly amazing (not in that particular order).

Everything I Avo Wanted

First things first… avocados. My coworker Aydrian and I love them. Also, one of our project managers has a hard time saying the phrase “Developer Advocates” (and perhaps also has a slight obsession with avocados), so we’ve became known as the Developer Avocado team.

Avocado Points were born a year ago when I asked our developers to help us out as we began to focus on building and supporting our community in new ways. To say they stepped up to the plate is putting it lightly. We set goals and stretch goals, and came up with rewards up for each level of avocado points, including “Sparcado” stickers and getting to throw pies at our manager.

What I didn’t anticipate was the amount of pull requests, the willingness to help answer questions in our Community Slack, and the sheer number of blog posts that would be written, not to mention the talks given, hours spent helping out with booth duty at conferences, and their general awesomeness.

holy guacamole internal community

All that to say… they were avo control (in a good way) and it was everything I avo wanted.

<insert groans and weak applause here>

But as I’m sure all of you community folks know, it takes some work to get to this point! A lot of trial and error and prodding and advice-gathering. So how did we get here?

Let’s Taco ‘Bout It

When we originally started talking about Avocado Points, we wanted it to be an extension of traditional Slack karma: a way to acknowledge when our coworkers were doing awesome things above and beyond what was expected of them. In other words, we were looking to reward folks who spent extra time making sure that our client libraries were kept up to date, or offered to write a blog about something cool they were working on, or gave particularly good feedback on someone else’s project.

Our bot-master Cole Furfaro-Strode built out a Guac Bot which we started using to nominate our colleagues. He also hid a few easter eggs in there for us to find. Let’s just say “Guac me” became a popular thing in Slack for a few weeks.

But as the year got busier, nominations died off, and I struggled to find ways to continue rewarding folks for their work. Nagging was out of the question (we all know it never works), and besides, it wasn’t like the contributions had died down… if anything, they were growing exponentially!

avocado season graph internal community

I settled into a regular routine of trying to keep track of what folks were doing (which, like nagging, didn’t work), and finally resolved to award points for the most easily tracked things: blogposts written and number of hackathons or conferences worked. It was an ok solution, but definitely not ideal for representing our avo-awesome team.

Show Me the Guac

Fast forward to the end of 2016, and I was left with the difficult task of figuring out who had earned the most Avocado Points. On the surface, this was easy! Simply ask Guac Bot who the leaders were, and I was left with a fairly straightforward accounting of deeds. But as we’ve already established, this didn’t take into account all of the things that affected our developer community, yet hadn’t been awarded as Avocado Points when they happened.

So we took a step back. First of all, we had to figure out what things were deserving of an Avocado Point. This was arguably the hardest part of the whole job. We settled on 5 major categories: Github contributions, blog posts, Community Slack help, speaking engagements, and booth duty. Some of these things require more time or energy, and we weighted the scoring to reflect that:

  • Github contributions – 1 point for every 2 contributions
  • Blog posts – 3 points for every 1 blogpost
  • Community Slack help – 1 point for every 5 messages sent
  • Speaking engagements – 5 points for every 1 talk given
  • Booth duty – 5 points for every event worked

My colleagues Ewan and Jesse (bless them) helped me with the backend calculations of how many Slack messages our employees had sent in our #community-help channel as well as how many pull requests each employee had to public-facing Github repos. Long story short, I owe them a lot of guacamole.

bravocado internal community

Let’s Guac & Roll

After all of the scripts were written, I created a giant Google Sheet and pulled in all of the raw data. One by one, I figured out who came out on top in each category, and then worked some formula magic to figure out who came in the top over all.

avocado kedavra internal community

(If you’re genuinely interested in seeing who all of the winners are and what they did, check out my letter to the team.)

To 2017!

As we dig into the new year, I’ll be keeping an eye out for new ways to keep the community momentum going, both internally and externally. Have ideas on ways we can improve or want to share how you’ve encouraged your own internal community? Please let me know! Leave a comment below, reach out on Slack, or find me on Twitter. I’m all ears!

One thing’s for sure: 2017 will have more avocado puns, and I’ll be looking for all of them. After all, they make my heart happy (as avocados are prone to do).

avocado heart internal community

Inbound email processing diagram

Inbound Email Processing: Examples and Use Cases

When people think of email, images of inboxes flooded with unread messages instantly spring to mind. That’s because the focus is always on receiving email—but there’s a lot of power in sending an email too. At SparkPost, we give you the ability to not only send email, whether it be a transactional 1-to-1 message or a message sent to a list of recipients, but also the ability to receive messages you can programmatically take action on. By utilizing inbound email processing, specifically inbound relay webhooks, you can create some pretty cool interactive features that will push the envelope of what one may expect from email.

Opening this new channel of engagement provides us with new opportunities to interact with recipients. Let’s explore some popular inbound use cases that can be used in conjunction with regular outbound messaging. I’ll finish up with a fun example using both Inbound and Outbound transactional messages.

Cool, but what do I do with it?

When you create an Inbound Domain, you’re giving SparkPost permission to receive email on your behalf. SparkPost will then parse that email into JSON and post it to a target endpoint specified in a Relay Webhook. Once you have the data, what do you do with it? The simplest use case would be to log it to a database, but that’s not any fun. If someone sends you a message, they are most likely going to expect a response. So let’s go over some common inbound use cases.

As I said before, when someone sends a message, they are usually expecting some kind of response. In the simplest form, you can now reply with a canned response. If you want to get a little fancy with your reply, you can use information from the email whether it be the subject line, header information, or something parsed from the body, and pass it into an API to create a more custom response using templates. Whatever the content, you have the power to respond using a transactional message.

Ditch the paper and create a raffle application where all a user needs to do is send an email to enter. Add all of the incoming messages to a database and use your favorite random number generator to pull out a winner. You can even set up triggered transactional messages for confirmation and winning emails. The Developer Relations team has been using a similar solution, check out the project on Github.

Voting System
Similar to the raffle use case, use the inbound messages to tally and track votes by allowing participants to cast votes via email. Again, it’s good to fire back a transactional message confirming that their vote was counted. You can even create a dashboard to show results in real time.

Let’s take the message and do something meaningful with it. We could simply forward it to a mailbox. See our Deployable Forwarding Service. You could go a step further and analyze the content and route it to the right person or department. Or you could push the information into a 3rd party system. A good example is a Help Desk Solution, where senders can email problems to [email protected] and create tickets for Customer Service.

Double Blind Messaging
You’ve probably encountered this use case on real estate sites, online marketplaces, and dating services. Using a combination of inbound relay and transactional email, you can create anonymous messaging between two parties. Anonymous emails are created on the inbound domain and mapped to real addresses. When someone sends an email to an anonymous address, you can intercept it, forward it to the real email address, and set the reply-to header to the sender’s anonymous address. This case proves useful when you need to preserve the privacy of the senders. See how DwellWell, the winners of the Developer Week 2016 Hackathon SparkPost Challenge, used Double Blind Messaging in their Affordable Housing App.

Screen Shot 2016-06-15 at 1.43.06 PM

A little less talk, a lot more action.gif

Now that we’ve discussed some of the major use cases for inbound email processing, let’s have a little fun with one of them. Animated GIFs are hot right now and Giphy.com has provided a great API. I’ve created an auto-responder that will do a search based on the subject of an email and respond with an email containing 5 animated gifs from the search results. I like to call it Giphy-Responder and you can try it out right now. Just send an email to [email protected] with some search keywords as the subject. If you’d like to see how it works and possibly set up your own, check it out on Github. It will walk you through all the necessary steps to setup your SparkPost account. I encourage you to fork it and have some fun with it.

Now you know a little more about how Inbound Email Processing can help you better engage with your senders. Hopefully you’re inspired to build something awesome and take your application to the next level.

Let us know what you build using inbound email on Twitter, in our Community Slack channel, or in the comments below!

-Aydrian Howard