Internal hackathons have become a common practice for tech companies these days. Here at SparkPost, we hold two hackathons a year and are happy to have made them a long standing tradition. So the question is, why do we hack? What value do we see in taking people away from their normal work and having them spend two days on completely different projects?

Building Relationships

The first benefit of internal hackathons is the social aspect. During hackathons you get to work with people from other teams, people you’ve possibly never worked with before. There is a lot of value in forming new friendships and strengthening bonds by working toward a common goal together. Hackathons also let you see your coworkers in a new light. Maybe someone has a real talent for something and only during a hackathon do you get to see them excel in their area of expertise. Learning people’s hidden strengths makes them more valuable to the company and allows them to grow even further in areas that are of interest to them.


Creativity is a second important benefit. Hackathons allow people to unleash their creativity. Taking a break from your normal workload for a couple of days can help refresh and reset the mind allowing you to tackle your normal projects with renewed vigor when you get back to it on Monday. Engineers often encounter small problems during their normal work day but don’t have time to fix them. Or they see ways in which their project or product can be improved but don’t have the bandwidth to expand on those ideas. Hackathons provide a space for people to voice their ideas and get immediate proof of concept.


All of this leads to the third important benefit, hackathons encourage innovation which can be invaluable to a company. So many people have great ideas for ways to improve the product they’re working on and hackathons give them the opportunity to delve into that idea and potentially get it to production. At SparkPost several of our hackathon projects have made it to production including our Zapier integration, HEML, our A/B testing API, our internal customer service app, and more. In addition to producing customer facing products, hackathons also allow the time needed for people to improve architecture and problem solve.

All in all, hackathons are great for our company. At SparkPost, we highly encourage cross team and cross company camaraderie and teamwork. We highly value creativity and praise innovation. Hackathons allow people to look up from their computers and see what could be in the future. It gives them a chance to focus on the bigger picture and flex their inventive muscles. We’ve done ten hackathons so far and we can’t wait to see what cool projects come from the next one.

Hackathon X

Check out this video from our most recent hackathon to learn about some of the exciting projects our engineers are working on!



**Today’s post is a guest blog from the folks at Process Street. They’ve put together an easy tutorial to build a zap connecting SparkPost and Process Street to streamline sales outreach.

Last year, Process Street conducted a study to evaluate how top SaaS companies constructed their sales and marketing efforts.

The results were very interesting.

Of the 281 companies analyzed, 28% used a mixture of automated marketing emails and personalized sales emails in their sales cadence once a new customer had signed up for a free account.

On further inspection, it was found that these companies who mix their approaches tend to be mid-market platforms like Salesforce, rather than broader scope companies like Slack (fully automated) or specialized companies like Epicor (only salespeople).

That’s why we’ve worked with Process Street to create an actionable High Touch Client Onboarding process a salesperson can run to follow up with new signups alongside the automated SparkPost marketing emails.

Tie your SparkPost outreach to a sales process

This post will show you how to integrate this SaaS closing process with SparkPost to automatically send your outreach sales emails at each stage of the sales cadence by checking off tasks in the Process Street checklist.

The process uses conditional logic to show the tasks relevant to the sales cadence at first, and then replaces those tasks with ones relevant to closing the sale once the user records that the client has responded.

Following sales processes helps standardize and improve success and, in turn, revenue! More than that though, a well run sales process also acts as a research tool to better understand your customers and their needs, resulting in a better experience for the end user. A sustained outreach program will also significantly improve user engagement.

Check out the process below and read on to see how you can integrate it into your existing SparkPost system!

High Touch Client Onboarding for SaaS Companies

This process is designed for SaaS companies following up on clients who have signed up for a freemium or free-trial account. The goal is to allow the salesperson to understand the client’s needs and then to demonstrate the ways in which the product can or cannot (honesty is important) meet those needs.

Through the process, checking off different tasks will send emails from SparkPost to the client. The two platforms are connected via Zapier and this allows us to take a business process automation approach to managing sales activities.

The cadence structure is influenced by Process Street’s 2017 study and the managing of the client meeting is based around Process Street’s internal sales process, which you can also see right here: BANT Sales Qualification Call Process

How to connect Process Street and SparkPost

To connect the two platforms, we’ll be using the third party automation service Zapier.

Zapier works by defining a trigger and an action. In our case, the trigger will be checking a task as completed in our Process Street checklist and the action will be SparkPost sending an email to the client.

First of all, log into Zapier and click Make a Zap. Then select Process Street as your trigger.

Then select the specific trigger from the Process Street options. We’ve selected New Task Checked.

From there, connect your Process Street account. You can generate an API key in your Organization manager under the tab Settings and API.

Then you can edit the options for the trigger. This is where you define which template the zap will be connected to, and which specific task will alert Zapier.

I’ve chosen the template High Touch Client Onboarding for SaaS Companies and the task Send an initial outreach sales email.

After this, you can test your trigger to check it’s connected properly. To do this, run the checklist and check the task – this will give Zapier some sample data to play with for its test.

Now we come to building the action. Select SparkPost as your action app.

Then choose the SparkPost action Send Email and connect your SparkPost account to Zapier. You can find the API generator in your Account dropdown from your dashboard.

Once you’ve connected your account, you can edit the options of how the action will perform its job.

We created a specific email template within SparkPost to send to clients. Simply click the dropdown arrow icon on the left of the Template ID field and Zapier should show you the different Templates available in your SparkPost account. Select the right one for the zap and you’ve now defined the message the client will receive.

Within the checklist, there’s also a section to enter a client’s email address. This allows us to click the icon next to Inline Recipients and find that form field in the list.

Now the zap is configured to send the pre-made template to whichever email address was entered into that client email form field automatically.

You can see how this is set up in the image above.

You can set up multiple zaps to correspond with each email outreach, and they will only fire if you mark the tasks as complete in Process Street. However, as we’re using conditional logic in the template, the tasks will only show if you have a need to see them. This stops accidental or mistaken sending.

-Benjamin Brandall
Content Marketing, Process Street

We hope this tutorial was helpful! Let us know if you’d like to see more how-to guides on specific integrations on Twitter.

SparkPost Now Integrates With 1,000 Web Tools, Thanks to Zapier

We know that getting your work done requires many different web tools. In fact, the average business uses between 10 and 16 apps. You have your email app, CRM, note-taking tool, cloud storage tool, team communication app, along with project management tools and various to-do lists. Sometimes, it can be a struggle to get them all working in tandem. Now that SparkPost has 1,000 integrations, you can choose your favorite tools and easily integrate them with SparkPost.

SparkPost now connects to 1,000 other web tools, thanks to our Zapier integration With workflow automation tool Zapier, you can set up your own codeless integrations called “Zaps.” Zaps will automatically send information from one tool to another, so you’ll spend less time manually transferring data between your business tools and can dedicate more focus to creative, big picture tasks.

Boost Your Productivity with Popular SparkPost Integrations

No matter what other apps you use, chances are SparkPost integrates with them via Zapier. Here are some of the most popular integrations that SparkPost users already use to be more productive:

New Year, New Process

The New Year is the perfect time to evaluate your processes and find ways to boost productivity. Try out some of the Zaps above or view more ways to integrate SparkPost.

Using Zapier “Zaps” is an easy way to connect services that SparkPost may not natively connect with. For instance, a Zap can send an email through SparkPost when you update particular notes in Evernote. This allows you to share document updates with your team without manually generating an email. No one ever misses an update.

Zaps can be used to connect Salesforce contacts to SparkPost and then store the resulting data in PostgreSQL or Mongo for deeper analytics later. Why build your own integration when Zapier has the components ready to stitch together.

SparkPost has a growing partner channel, and we would love to speak to you about becoming one. We’re all ears when it comes to ideas on how our services can complement one another, or any other interesting thoughts that you have that you feel are worth a conversation. Feel free to check out our existing partners and integrations, in addition to Zapier, by visiting our partner’s page and feel free to drop us a line. You can also tweet us we would love to hear from you!



Zapier and SparkPost

Today’s blog is by guest author Chris Dunne, who writes for the GetJirified blog. The original post can be found here.

Creating Magic using webhooks with Zapier and SparkPost for email

JIRA Service Desk is a great product. It provides all the essential features to set up a fully functional business and customer friendly service desk. It is, like the rest of JIRA, quite flexible.
But there is one area that I believe is seriously lacking in terms of flexibility. Email Handling!
Whilst many users will prefer to login to the portal and raise requests, others will prefer to email. The majority will prefer to receive change notifications for requests by email too.
The ‘Default’ Email Notifications feature is baked into JIRA Service Desk. This will send customers email notifications using Atlassian’s own built-in HTML email template.

Zapier and SparkPost notification message

But many JIRA Service Desk customers want to send these emails with their own branding, own look and feel, and customized data items in the body of the email.

The lack of ability to customize this essential function has been outstanding for a long time. Check out JSD-218 – As an Admin I want to be able to customize the Service Desk notifications’ subject, content and format

Read through the 330+ comments and you can see there is a lot of frustration in the community with Atlassian’s lack of progress on this issue. Only recently Atlassian announced a slow rollout of features related to Email customization in a beta program for JIRA Cloud customers.

The comments do provide some workarounds using ScriptRunner and velocity template modifications but I wanted to see if I could come up with an alternative that didn’t involve add-ons.

Without further ado, let’s define the requirements. We would like to be able to do the following:

  • Send emails in response to events on issues in JSD.
  • We want to be able to completely customize the look and feel of those emails.
  • We want to be able to insert data from the issue into those emails.
  • The emails should come from an email domain that the customer recognizes and won’t be blocked or treated as spam.
  • Customers should be able to reply to these emails.

In this article I will show you how you can do all of this in JIRA Service Desk (for both cloud and server versions). We will use a combination of JIRA’s webhooks, Zapier, and SparkPost.

JIRA Email Notifications

So what are these email notifications that JSD / JIRA sends? They are emails, triggered by JIRA issue events that are sent to a defined set of recipients. The content of the email is defined in a template.

When we are dealing with JIRA Service Desk there are actually two flavours of email notifications.

  • JSD Customer Notifications. These are the notifications that are baked into the JIRA Service Desk project. There is very little we can do to change the behaviour of these notifications, or customize the content. We cannot change the layout or content without cracking open the source code, and on Cloud this is not even an option.
  • JIRA User Notifications. This is the traditional means of sending email notifications. Using notification schemes, we have the ability to define who receives the notifications for each type of event. But these email notifications are only sent to licensed JIRA users and not to JIRA Service Desk customers (free, and unlicensed). For the server instance we can also modify the Velocity templates used to control the layout and appearance of the emails.

Here are some examples of the out-of-the-box notifications; one is a standard JIRA Service Desk notification a customer would receive and the other is the type of notification received by licensed JIRA users.

Zapier and SparkPost notification message

Zapier and SparkPost notification message

The challenge for many Atlassian customers, and the challenge we set out to tackle in this article, is to provide a mechanism to change the content and branding of the emails, preferably without additional plugins.

An Alternative Approach

We want to send customized emails in response to events in our primary system. When you think about it this sounds a lot like the function of transactional email systems like Mandrill and SparkPost.

These are normally used in e-commerce systems to send receipts and other automated replies. They provide users with the ability to trigger emails and define templates for the content of those emails.

So I thought – could we disable JIRA’s native notifications and instead use one of these transactional email systems.

To do that we need a means of sending a message to our transactional email system when an event of interest occurs in JIRA. JIRA has webhooks which can do exactly that. But we need something that would catch the webhook, parse the content, and trigger the sending of the email.

Zapier has the capability to do this and is quite easy to set up.

Finally, we need to have something to actually send the email. There’s a bunch of candidates, but the new kid on the block is SparkPost and I’ve decided for the purposes of this post to give it a try.

So the next step is to set up our accounts with Zapier and SparkPost.

Zap it

Firstly lets set up the Zapier account we need and create the webhook we are going to use.

  1. Create your account on the Zapier site here, and sign up for a free plan.
  2. Click Make a Zap and then select Choose App under trigger. Type Webhook and select the result.
  3. Select the Catch Hook option and then click the Save + Continue button.
  4. On the next screen select Continue. A custom webhook URL is generated. This is the webhook that JIRA will use to trigger the Zap. Click the Copy to Clipboard button.
  5. Click OK, I did this button and keep this window open. Zapier is waiting to intercept this webhook. So we need to open another window and set up the webhook in JIRA.
  6. Go to JIRA->Admin->System->Webhooks and configure the webhook.
  7. Give the Webhook a name.
  8. Paste the URL copied to the clipboard in step 4 into the URL field.
  9. Select the events that will trigger this webhook. We will select the Issue Created and the Issue Updated event.
  10. Click the Save button.
  11. Now create an issue in any project and switch back to your Zapier browser window. Zapier should detect the webhook. You can click the view your hook link to see the actual data sent.

Note: In part 2 of this article we will further customize this to fire events from our workflow, restrict the issues we are interested in using JQL, and create webhooks for other events.

Here’s a screencast showing you what to do.

So we have JIRA talking to Zapier and sending the details of events as JSON.

But this is only half the story. We can’t complete the full Zapier definition yet as we need to also configure SparkPost.

Spark it

Now we are going to set up our email system using SparkPost. We just want to test a very basic scenario and ensure that we can send an email with some data from our JIRA issue created/updated event.

So first we need an account and then an email template.

Setting up a SparkPost Account and Linking it to Zapier

  1. First things first, set up a SparkPost account here. When you first set up an account, SparkPost will ask you about your sending domain. I advise skipping this for now. Click the Skip For Now button.
  2. Click the Get A Key button under ‘Send with REST’. Copy the Key to notepad.
  3. Switch back to Zapier. The next step is to set up the Action which will be called when the Zap is triggered by the webhook.
  4. In Choose App, type SparkPost and select it. The next step is to Choose the Action. There is only one – Send Email.
  5. Click the Connect a New Account button. Paste the key you just copied and click Yes, Continue.
  6. Click the Test button next to the new account. If this is successful, click Save + Continue.

Here’s another short screencast to demonstrate these steps, although in this case I already had a SparkPost account.

So we’ve connected Zapier and SparkPost. Next we need to trigger an email in SparkPost. We need a template for the email.

Setting up the SparkPost Email Template

  1. On the next screen we can select the Template for the email that SparkPost will send. Right now we don’t have any template, but there is a draft template called “My First Email” set up for you in SparkPost.
  2. Switch to the SparkPost browser window.
  3. Click Templates. Then click My First Email. This will bring you into the editor. We are just going to use the default template as this is really a proof of concept.
  4. Our Zap is going to take some data from the webhook body and construct a subject line that contains the Issue Key and Summary. In the Subject field in the template editor enter the text “{{mysubject}}” (without the quotes).
  5. Click the button to Save & Publish.

Double-check your work with this screencast.

Complete the Zap

  1. Switch back to Zapier to complete the configuration.
  2. Select My First Email in the Template ID field.
  3. In the Inline Recipients field choose Issue Fields Reporter EmailAddress.
  4. In Substitution Data we provide key value pairs. The first field box is the key and here we can enter the key name mysubject. The second box is the value and here we can select Issue Key from the dropdown. After Issue Key, type a ” – ” (space, hyphen space) and then select Issue Fields Summary from the dropdown. This builds up a string of text for the subject line which will be injected into our email template.
  5. Click Continue and a test email should be sent to you.

This screencast shows the setting up of the key value pairs in Zapier.

Now let’s see if it was all worth it. Create an Issue in JIRA using your own account. You should receive a notification from [email protected] and the email subject line should contain your new issue key and summary. Then update any field, such as the description field. You should very quickly receive another email from SparkPost.

Hopefully it worked. If not, get in touch with me on the comments and I’ll try to help you diagnose it.

Zapier and SparkPost Together

OK so there are quite a few steps involved but they are reasonably simple and give you a good sense of the power of Webhooks and Zapier. Let’s review where we are at and what we can do next.

At the beginning of this post we set a number of requirements.

  • Send emails in response to events on issues in JSD. We are using webhooks, triggered by JIRA events, to trigger emails using Zapier and SparkPost.
  • We want to be able to completely customize the look and feel of those emails. Although we didn’t show it here we have full access to the email template in SparkPost and we can completely customize the emails. Check out the SparkPost docs for more information.
  • We want to be able to insert data from the issue into those emails. We can inject substitution data (issue data from webhook body JSON content) into the templates. In this example we only injected data into the Subject but we can also do this in the body of the email. You can read up on the substitution data and its capabilities here.
  • The emails should come from an email domain that the customer recognises and won’t be blocked or treated as spam. We used the * domain as the sender domain for our proof-of-concept. You can set up your own sending domain and then verify it with SPF and DKIM to allow SparkPost send emails from your own domain. See docs here.
  • Customers should be able to reply to these emails. We have not yet addressed this requirement. But I believe it is possible and this worked in my initial tests. You would first need to set up sending from your company mail domain so that notifications arrive in recipients inboxes coming from [email protected] When customers reply, the replies will go to this address. If you have JIRA set up to poll this account then JIRA should be able to process those emails and add the replies to the original issue. Alternatively you could auto-forward the emails to whatever email address is configured in JIRA.

To be honest I have not had time to completely test all scenarios and this is merely a proof-of-concept. I hope it inspires others to try this out and if you feel like it please add comments below and share your results.

In the next post (assuming there is interest), I will look into how you can send the emails from your own domain, how to filter the events using JQL, and how we can customize the email templates. I’ll also look at triggering the emails from workflow transitions and by using the JIRA Automation Plugin.

We won’t be able to create an email notification system as flexible as Notification Schemes but I think we can solve the problem of customizing email content for JIRA Service Desk customers.

-Chris Dunne

Chris Dunne - Get Jirified Blog Author Zapier and SparkPost

Zapier and SparkPost make it possible for non-techies to easily automate common and valuable tasks to make their jobs easier

.Zapier and SparkPost, better together.

SparkPost is proud to announce a new integration with Zapier. Zapier allows you to automate tasks that would normally require custom development, thousands of dollars in up-front development costs, and long deployment times.

How it works:

Zapier runs off of triggers and actions. These are simply events referred to as ‘Zaps’ which run automatically every 5-15 minutes depending on your plan. When a trigger item occurs, the Zap (event) automatically follows through on the defined action step. Essentially, whenever the trigger event occurs, the zap automatically completes the action for you, saving users time and the hassle of having to manually do these repetitive tasks.

For example, have you ever wanted to inform the sales or marketing departments of a new lead? By leveraging the SparkPost-Salesforce integration on Zapier, you can send emails to your team when a new lead is created.


  1. You have a new lead in Salesforce
  2. Zapier sends an email via SparkPost to the intended recipients (CEO, sales team, etc.)


Another example is you can set up a trigger to monitor your Twitter account so that every time you receive a new follower, Zapier can send an email via SparkPost to the intended recipients. (Scroll down to see links to some other examples).

The greatest part about Zapier is that it makes APIs accessible to non-technical users. Anyone from marketers to sales teams to entrepreneurs can use it to easily automate common and valuable tasks.

Example Zaps include:

To Get Started:

  1. Sign up for a free Zapier and SparkPost account
  2. Begin using SparkPost with any number of services integrated in Zapier.
  3. Sit back and relax while we do all the work!

With this integration you can now access the best-of-breed deliverability, scalability, and speed by connecting with hundreds of popular web apps like Dropbox, Salesforce, Trello, and much more. What are you waiting for, go check it out!