Git Product home page Git Product logo

clearbit-slack's Introduction

Clearbit Slack Notifier

Clean beautiful customer data. Now in Slack.

alex test

Installation

Add to your application's Gemfile:

gem 'clearbit-slack'

Configuration

Add Clearbit and Slack config vars:

# config/initializers/clearbit.rb
Clearbit.key = ENV['CLEARBIT_KEY']

Clearbit::Slack.configure do |config|
  config.slack_url = ENV['SLACK_URL']
  config.slack_channel = '#signups'
end

Clearbit Key

Sign up for a Free Trial if you don't already have a Clearbit key.

Notifications

Parameters

Field Description
company Company data returned from Clearbit
person Person data returned form Clearbit
message Used for deep link into an internal Admin/CRM
email Used to augment message data when Person not found
full_name Used to augment message data when Person not found

Streaming API

Lookup email using the Clearbit streaming API and ping Slack channel:

# app/jobs/signup_notification.rb
module APIHub
  module Jobs
    class SignupNotification
      include Sidekiq::Worker

      def perform(customer_id)
        customer = Customer.find!(customer_id)
        result = Clearbit::Enrichment.find(email: customer.email, given_name: customer.first_name, family_name: customer.last_name, stream: true)

        result.merge!(
          email: customer.email,
          full_name: "#{customer.first_name} #{customer.last_name}",
          message: "View details in <https://admin-panel.com/#{customer.token}|Admin Panel>",
        )

        Clearbit::Slack.ping(result)

        # Save Clearbit data to datastore
      end
    end
  end
end

Webhooks

Receive a webhook with Clearbit data and ping Slack channel:

# app/controllers/webhooks_controller.rb
class WebhooksController < ApplicationController
  def clearbit
    webhook = Clearbit::Webhook.new(env)
    customer = Customer.find!(webhook.webhook_id)
    result =  webhook.body

    result.merge!(
      email: customer.email,
      full_name: "#{customer.first_name} #{customer.last_name}",
      message: "View details in <https://admin-panel.com/#{customer.token}|Admin Panel>",
    )

    Clearbit::Slack.ping(result)

    # Save Clearbit data to datastore
  end
end

Contributing

  1. Fork it ( https://github.com/[my-github-username]/clearbit-slack/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

clearbit-slack's People

Contributors

harlow avatar maccman avatar martin308 avatar jezen avatar

Watchers

James Cloos avatar Shirley Shaw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.