/spree-intercom

Spree Wrapper to integrate Intercom.

Primary LanguageRubyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Spree Intercom

Demo

Try Spree Intercom for Spree master with direct deployment on Heroku:

Deploy

Try Spree Intercom for Spree 3-4 with direct deployment on Heroku:

Deploy

Introduction

It is a spree wrapper for Intercom, using which you can directly install and use Intercom on your Spree store, create and update customers on Intercom, chat with customers, and track his movements on your store, without any hassle.

We currently support Rails 5 and Spree > 3.1

Installation

  1. Add this extension to your Gemfile with this line:
gem 'spree_intercom', github: 'vinsol-spree-contrib/spree-intercom'
  1. Install the gem using Bundler:
bundle install
  1. Copy & run migrations
bundle exec rails g spree_intercom:install
  1. Restart your server

    If your server was running, restart it so that it can find the assets properly.

  2. Go to Admin Panel -> Configurations -> Intercom, and enter your Intercom application's id and access token.

    image

    To get your application id, you can have a look here

    You can read more about access tokens here

    Please ensure this step is performed before running the rake task.

  3. Run the rake task to add intercom id to your pre-existing users and move your users to Intercom.

bundle exec rake intercom:process_users
  1. You need to specify the default url options in the specific environment files.
    For example, you need to add this in production.rb
Rails.application.routes.default_url_options = { host: "mydomain.com", protocol: 'https' }

Usage

  1. If you have entered correct application id, and access token; AND have subscribed to Intercom's chat product [ message / inbox ], you should be able to see Intercom chat widget in your store.

    Please visit your Intercom admin panel to customise it as per your wish.

    image

  2. As soon as a user creates an account, or user updates his information [ name, phone ] is instantaneously uploaded on Intercom.

  3. You can engage with customers through the Intercom message widget.

    As soon as the customer logs out of his account, his previous conversation is swiped off, to maintain customer's privacy.

  4. Events - You can track your customer's movement on your store

    Currently, we are tracking the following events -

    • Customer creates his account.
    • Customer updates his account.
    • Customer logs into his account.
    • Customer logs out from his account.
    • Customer adds item in his cart.
    • Customer removes item from his cart.
    • Customer updates his cart.
    • Customer views a product.
    • Customer searches a product.
    • Customer applies a filter.
    • Checkout stages - address, delivery, payment, confirm.
    • Customer places an order.
    • Customer's order is shipped.
    • Customer returns an order.
    • Customer applies promotion.
    • Customer removes promotion.
  5. You can enable and disable the intercom functionality at the admin end.

Testing

First bundle your dependencies, then run rake. rake will default to building the dummy app if it does not exist, then it will run specs. The dummy app can be regenerated by using rake test_app.

bundle
bundle exec rake

When testing your applications integration with this extension you may use it's factories. Simply add this require statement to your spec_helper:

require 'spree_intercom/factories'

See It In Action

Youtube Video Tutorial

Contributing

If you'd like to contribute, please take a look at the instructions for installing dependencies and crafting a good pull request.

Copyright (c) 2018 Vinsol, released under the New BSD License