Skip to content

Elixir helpers for generating the Intercom snippet and interacting with the Intercom API

Notifications You must be signed in to change notification settings

intercom/intercom-elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intercom snippet

Intercom can be installed in your web app to help you chat to logged-in and logged-out users.

Full configuration options can be found here.

require Intercom

# Generate the full Intercom snippet
Intercom.snippet(
  %{email: "[email protected]"}, # Key value pairs identifying your user.
  app_id: "<your app id>", # Your app's identifier.
  secret: "<your secret key>" # Your app's secret key. This enables secure mode https://docs.intercom.io/configure-intercom-for-your-product-or-site/staying-secure/enable-secure-mode-on-your-web-product
)

For example, this shows how to generate the web snippet in a Phoenix web app:

defmodule HelloPhoenix.PageController do
  use HelloPhoenix.Web, :controller
  require Intercom

  plug :intercom

  def index(conn, _params) do
    # Intercom injectable via <%= raw @intercom %>
    render conn, "index.html"
  end

  defp intercom(conn, _params) do
    {:ok, snippet} = Intercom.snippet(
      %{email: "[email protected]"},
      app_id: "<your app id>",
      secret: "<your secret>"
    )
    assign(conn, :intercom, snippet)
  end
end

Intercom REST API:

The Intercom REST API provides full access to Intercom resources. This library provides a thin wrapper over httpoison:

require Intercom.Client

Intercom.Client.start

Intercom.Client.get!(
  "/users",
  [],
  hackney: Intercom.Client.auth("<personal access token>", "")
)

If you already have an access token you can find it here. If you want to create or learn more about access tokens then you can find more info here

If you are building a third party application you will need to use OAuth by following the steps in setting-up-oauth for Intercom.

Pull Requests

  • Add tests! Your patch won't be accepted if it doesn't have tests.

  • Document any change in behaviour. Make sure the README and any other relevant documentation are kept up-to-date.

  • Create topic branches. Don't ask us to pull from your master branch.

  • One pull request per feature. If you want to do more than one thing, send multiple pull requests.

  • Send coherent history. Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before sending them to us.

About

Elixir helpers for generating the Intercom snippet and interacting with the Intercom API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages