Developer Tracking CRM

In this tutorial we're going to create a system to track and categorize developers based on their Github contributions.

Overview

This Developer Tracking CRM tool takes in one input, a developers email address and will return 3 pieces of information:

  1. Information on the developer from Clearbit. This may include where they work, their GitHub user info and other information about them.
  1. The developers Github profile data based on their Github username.
  1. A ratio of Github users that follow them vs the users that they follow

Step by Step Guide

  1. Sign up for Clay or log in if you already have an account

  2. Create a new Base. Call it Developer Tracking CRM

  3. Use the pre-created 'people' table and enter a test email in the email field. For example k@kareemamin.com

  4. Select the JSON Object in the clearbit_enrichment cell. Notice how the clearbit_enrichment column saved data from Clearbit. This is called a Computed Column. Use the right hand JSON Viewer panel to explore the data returned by Clearbit

  5. In the JSON Viewer open up “data” > “person” > “github”. Then hover over the “handle” field and click on the icon that appears next to it to extract that field into a new column. Call that column github username

  6. Create a new column called github data and select Github User Lookup as the type. Select github username as the input.

  7. Create a new column. Select Custom Function as the type. Paste the following custom function into the URL input field: https://exec.clay.run/kareem/github-followers-following-ratio This custom function will give you the followers to following ratio of a Github user.

  8. You have now set-up your workflow! Try adding a new email address in the UI and see the computed columns magically pull in the required data. The computed columns will also populate automatically if you insert the data into the email and username fields via the API which we'll do in the next step of the tutorial.

Using the API

Run this code on a node server or create a function on Clay.run to host it

const Base = require('clay-base-sdk')

      Base.init('sk_ddde0373b03a02d0eeab')

      Base.developers.insert({
        email: 'kareem@clay.run'
      }).then((developer_data) => {
        console.log(developer_data);
      })