Signal - An indication of a task that needs to be done automatically using Open Growth

Delight - A method of outreach to your customer i.e. email, text, tweet, special delivery of cake 🍰

The core vision of Open Growth is to automate tedious workforce tasks and give humans more time to work on the big picture. Open Growth’s Signals and Delights are an excellent resource to automate email correspondence with your vast customer base. A lone developer can get an automatic customer outreach system up and running in a few minutes using Open Growth. There are currently 11 delights under construction in the open-growth/delights/ directory. This getting started guide will explain how to set up an automatic email to your newest customers when they sign up for your service.

First, there needs to be a source of the emails you send. We will call this a Signal Generator. The Signal Generator needs to collect customer information, like email address, and publish the signal to Open Growth. This can be accomplished by a program that automatically runs every so often using a service like Cron. The program can query your customer database for any new sign ups, and publish a message to your PubNub Open Growth instance immediately. You can also accomplish this using PubNub to publish directly from your Web Application, Cron script, or even a smart toaster 🍞.

The signal can be published to PubNub using one of the 70+ SDKs, or with an HTTP request.

{
  "signal" : "signup",
  "email"  : "joe@customer.com"
}

The message you send to PubNub will be enriched, in transit, by BLOCKS and it will be sent to your customer by the Open Growth delight of your choosing. You can enrich the customer data, decide the content of your email, and finally send the email using the SendGrid or SendWithUs delight. If you use a different email API service, you can create your own delight!

We can accomplish automation with an XHR to Clearbit, MonkeyLearn, and SendGrid.

  • Clearbit is used to find a customer’s name, place of work, industry, and other important details, by providing only an email address.

  • MonkeyLearn is a Machine Learning API which we use to determine a customer’s use case for your service, by using past customer data.

  • The SendGrid Delight is used to send the email by plain text, or with a colorful HTML/CSS template.

The data enrichment modules should be called in the signals.js handler, which is a Before Publish or Fire handler.

The delight function should be called in the delights.js handler, which is an After Publish or Fire handler.

open-growth-signal-diagram

In this example, we will make an XHR to Clearbit to get customer name, job title, and company name and then MonkeyLearn to determine this customer’s use case from company description, and/or job title.

After we have enriched our customer JSON object, we can decide the content of their email based on the signal name. Using logic, we can produce an email body like:

Hi Joe!

Thanks for signing up for our service!
We see you are a C developer and you work at IOT company.
Here is a link to our C SDK and here is a link to an Arduino Tutorial.

https://www.pubnub.com/docs/posix-c/pubnub-c-sdk
https://www.pubnub.com/docs/arduino/data-streams-publish-and-subscribe

Welcome!

Neumann

We will decide this content in the opengrowth.signals.signup handler, which we can create a file for in open-growth/signals/.