README.md

# ExIntercom

[![Build Status](https://travis-ci.org/versality/exintercom.svg?branch=master)](https://travis-ci.org/versality/exintercom) [![Inline docs](http://inch-ci.org/github/versality/exintercom.svg?branch=master&style=flat)](http://inch-ci.org/github/versality/exintercom) [![hex.pm version](https://img.shields.io/hexpm/v/exintercom.svg)](https://hex.pm/packages/exintercom)

Elixir library for the [Intercom API](https://api.intercom.io)

**Currently has very limited functionality with read-only access.**

## Roadmap

- [x] Fetch conversations / conversation
- [x] Fetch user
- [ ] Fetch companies
- [ ] Fetch admins
- [ ] Fetch segments
- [ ] Fetch leads
- [ ] Fetch notes
- [ ] OAuth

## Documentation

http://hexdocs.pm/exintercom

## Installation

1. Add exintercom to your list of dependencies in `mix.exs`:

  ```elixir
  def deps do
    [{:exintercom, "~> 0.1.0"}]
  end
  ```

2. Ensure exintercom is started before your application:
  ```elixir
  def application do
    [applications: [:exintercom]]
  end
  ```

3. Add _Intercom_ `app_id` and `app_key` to `config.exs`:
  ```elixir
  config :exintercom,
    intercom_app_id: "...",
    intercom_app_key: "..."
    ```

  If no config set, env variables will be used instead.


## Usage

```elixir
iex> ExIntercom.Conversation.find_all
[%{"assignee" => %{"id" => "...", "type" => "..."}, ...]

iex> ExIntercom.Conversation.find(id: "1")
%{...}

iex> ExIntercom.User.find(id: "1")
%{...}
```