Meya Bot Platform

The Meya Developer Hub

Welcome to the Meya developer hub. You'll find comprehensive guides and documentation to help you start working with Meya as quickly as possible, as well as support if you get stuck. Let's jump right in!

Intercom

Connect any messaging channel to Intercom for human/bot collaboration.

Supported features

  1. Intercom live chat channel
  2. 3rd party messaging channels (Messenger, Slack, Telegram, etc.)
  3. human.transfer and human.note
  4. Bot pausing/unpausing with note verification
  5. Respond as human agent
  6. Bot control via slash commands (in notes) to start flows
  7. User profile data syncing

Connect any messaging channel to Intercom

You can use 1) Intercom's live chat on the web, or 2) any of Meya's supported messaging apps like Messenger, Kik, Slack, Telegram, etc.

Install instructions

On Intercom

  1. Sign up for Intercom
  2. Create a user that will act as your bot (this can be a new user or someone else on your team)

On Meya:

  1. Authorize your Meya account to use your Intercom account (click "Connect" button)
  2. Select the admin that will be acting as your bot (the Intercom team member you previously created)

Tip

Use an Intercom TEST app while your bot is still in development. See Intercom's docs on how to setup a test app.

User profile data

Intercom chat: Intercom -> Meya

If your user is connecting via Intercom's live chat web widget, Meya will pre-populate some user data accessible to your bot.

Field Name
Description

first_name

First name

last_name

Last name

email

Email address

User scope data syncing: Meya -> Intercom

Your data stored in the user scope database will automatically be synced with your Intercom user profile. The special field "source" will include the messaging channel used (eg. "messenger" or "slack")

User scope data auto-synced to Intercom

User scope data auto-synced to Intercom

Assigning the conversation to an agent

You can assign the conversation using the human.transfer component.

Property
Description

assignee

By agent ID: assignee: "41400"
By agent name: assignee: "Elon Musk"
Random team: assignee: "team"
By team name: assignee: "team:Support"
Random agent: assignee: "admin"

Optional

text

Text to display to the user.

Optional

note

Private text only the agent will see. Markdown is supported.

Optional

The five tabs in the code block below demonstrate different ways of assigning the chat using human.transfer.

states:
    transfer:
        component: human.transfer
        properties:
            text: "I'm getting an agent for you. This may take a few minutes."
            assignee: "Inigo Montoya"
            note: "The chat has been transferred to Inigo Montoya!"
states:
    transfer:
        component: human.transfer
        properties:
            text: "I'm getting an agent for you. This may take a few minutes."
            assignee: 41400
            note: "The chat has been transferred to you!"
states:
    transfer:
        component: human.transfer
        properties:
            text: "I'm getting an agent for you. This may take a few minutes."
            assignee: "team"
            note: "The chat has been transferred to your team!"
states:
    transfer:
        component: human.transfer
        properties:
            text: "I'm getting an agent for you. This may take a few minutes."
            assignee: "team:Success"
            note: "The chat has been transferred to the Success team!"
states:
    transfer:
        component: human.transfer
        properties:
            text: "I'm getting an agent for you. This may take a few minutes."
            assignee: admin
            note: "The chat has been transferred to you!"

When assigning the conversation to a human teammate or team, the bot will pause itself and leave a note confirming that it's been paused. Conversely, if you assign the conversation to the bot agent or "Nobody" the bot will unpause.

Pausing the bot by assigning to a human.

Pausing the bot by assigning to a human.

Settings

From your Intercom integration you can adjust the default assignment behaviors:

Bot response rules

  1. Silence on human assignment: Silence bot once assigned to teammate or team.
  2. Silence when unassigned: Silence bot when conversation is unassigned to "Nobody".

Assignment actions

  1. Cancel active flows: Cancel active flows when assigned to an agent. If this is turned off, users can resume existing flows once agent has assigned back to bot default: on
  2. Send notes: Send a note "Bot is paused" or "Bot is active" when the conversation is assigned. default: off
Intercom settings

Intercom settings

Tip: pair bot silencing with Intercom Resolve Rules

It's possible to have the bot conditionally respond based on Intercom rules: 1) silence the bot when unassigned or assigned to a human. 2) add one or more rules that automatically assign the conversation to the bot based on user attributes.

You can have the bot selectively respond when pairing with Intercom Resolve rules and Bot silencing

You can have the bot selectively respond when pairing with Intercom Resolve rules and Bot silencing

Slash commands

Agents can initiate bot flow by using "slash commands" within the note section. For example, by entering "/hello_world" in the note section, the bot will:

  1. unpause and assign the conversation to itself
  2. start the flow named "hello_world"
  3. leave a note confirming the flow has started
Control your bot via /slash command notes

Control your bot via /slash command notes

Missing flows

If no Meya flow exists matching the Slash command the bot will leave a note "❌ Error: Flow not found."

Respond as agent

Your customer agents can respond to your users for both Intercom live chat and any of Meya's messaging channels.

When responding to third party messaging channels, your users may not know when a human vs. a bot is speaking. Depending on your use-case you may want to have your human agents identify themselves by name in text.

Agent's can respond to any messaging channel.

Agent's can respond to any messaging channel.

In Messenger, the agent text will be indistinguishable from bot text.

In Messenger, the agent text will be indistinguishable from bot text.

Timeout error

If the Intercom API is slow to respond, you may get a SoftTimeLimitExceeded error.

A SoftTimeLimitExceeded error.

A SoftTimeLimitExceeded error.

These errors appear when the Intercom API doesn't respond within 3 seconds. If this happens regularly, you may request an increased timeout limit by contacting support@meya.ai. Note that your request may not be approved.

Intercom


Connect any messaging channel to Intercom for human/bot collaboration.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.