Developer Platform
  • Home
  • Getting Started
    • General Information
    • Features Overview
    • Security
  • APPs
    • Public Apps
      • Shopify
      • Salesforce
      • Zendesk
      • Google Analytics
    • Build your App
      • Getting started
      • My Apps
      • App information
      • App Parameters
      • App Plugins
      • Add Webhooks
      • Submit your Apps
      • App security
      • Developer Policy
  • Use Cases
    • Copilots
      • Product Catalog sync through API
      • FAQ sync through API
    • Visitor experience
      • Integrating custom buttons into your site
      • Check availability before escalating to iAdvize
      • Authenticated Messaging
        • Introduction
        • Web client-side implementation
          • Authenticated Messaging overview
          • Brief timeline of the integration process
          • How to enable authenticated mode in the administration portal?
          • How to implement the customer authentication backend (token provider)?
          • How to authenticate with iAdvize in client's website?
          • How to deal with activation success or failure?
          • How to logout?
          • Compatibility with Mobile SDK
          • FAQ
        • Web backend implementation
          • Important information and recommendations
          • Signature and Encryption Detailed Process
          • Technical backend implementation
          • FAQ
      • Cross-domain Conversation Continuity
      • Customize replies with Markdown
    • Agent workspace
      • Custom App example and step-by-step tutorial
        • Get Started
        • Work with the Desk
        • Intent / Trigger
        • JWT
        • References
    • Administration
      • Users
        • SAML SSO Authentication - Implementation Guide
        • Create, update and delete users via API
        • Manage the availability of your users with the iAdvize API
        • Integrate the iAdvize conversation panel into an existing tool
    • Data & Analytics
      • Anonymize a conversation or visitor data
      • Create a custom dashboard
      • Find contact data using GraphQL
      • Retrieve conversations data
      • Retrieve messages exchanged within a conversation
  • Technologies
    • GraphQL API
      • Terminology
      • Reference
      • Authentication
      • Schema lifecycle
      • Error Management
      • Pagination
    • REST API (deprecated)
      • Statistic (deprecated)
      • Group (deprecated)
      • Call meeting (deprecated)
      • Operator (deprecated)
      • Skill (deprecated)
      • Transaction (deprecated)
      • Visitor (deprecated)
    • Webhooks
      • Reference
      • Guides
    • Desk events
      • Reference
    • Web & Mobile SDK
      • Javascript Web SDK
        • Reference
      • Javascript Callbacks
        • Reference
        • Guides
      • Mobile SDK
        • Fourme (latest)
        • Epoisses
        • Dauphin
        • Cantal
        • 🤝Support Policy
        • 🤔Frequently Asked Questions
    • Custom App
    • External Bot
      • Implementation
        • Configuration flow
        • Conversation flow
        • Conversation objects
      • Configuration
      • FAQ
      • Best practices
Powered by GitBook
On this page
  • My visitor is being inactive in the conversation, how can I send him/her a message?
  • How can I check the availability of a rule before a transfer?
  • My chat notification does not display, even if I went through all the bot creation process and campaign creation process
  • My bot is stuck in an infinite loop, it keeps replying to itself.
  • My bot always appears to be offline, how can I change that?
  • Why is the iAdvize bot selected and not my external bot in the iAdvize admin interface?

Was this helpful?

  1. Technologies
  2. External Bot

FAQ

My visitor is being inactive in the conversation, how can I send him/her a message?

You can schedule a message to be sent after a while such as:

{
    "idConversation": "ce41ba2c-c25a-4351-b946-09527d8b940b",
    "idOperator": "ha-456678",
    "replies": [
        {
            "type": "message",
            "payload": {
                "contentType": "text",
                "value": "To download your invoice, just click on the Invoice section into your account settings"
             },
            "quickReplies": []
        },
        {
            "type": "await",
            "duration": {
                "unit": "seconds",
                "value": 120
            }
        },
        {
            "type": "message",
            "payload": {
                "contentType": "text",
                "value": "Can I still help you ?"
             },
            "quickReplies": []
        }
    ],
    "createdAt": "2017-11-22T12:04:00Z",
    "updatedAt": "2017-11-22T12:23:00Z"
}

Explanation: After 2 minutes, the message Can I still help you ? will be sent to the visitor. If the visitor sends a message before the 2 minutes timer, this message is not sent to the conversation.

How can I check the availability of a rule before a transfer?

You can check the availability with the routingRule query in our GraphQL API. This query returns a routingRule object in which there is an availability field allowing to know the availability of the different channels.

Here is an example of a query to retrieve the availability on chat channel:

query getAvailabilityOfMyRoutingRule {
  routingRule(id: "MY_ROUTING_RULE_UUID") {
    availability {
      chat {
        isAvailable
      }
    }
  }
}

And its result:

{
  "data": {
    "routingRule": {
      "availability": {
        "chat": {
          "isAvailable": false
        }
      }
    }
  }
}

My chat notification does not display, even if I went through all the bot creation process and campaign creation process

  • Is your browser's main language the same language the bot is configured to chat in? If not, make sure they match

My bot is stuck in an infinite loop, it keeps replying to itself.

Mind that all the messages sent in the conversation (whether your bot is the author or not) trigger a call to the POST /conversations/conversationId/messages. To avoid replying to yourself, you have to filter on the author. If the author equals visitor then you can reply otherwise, just return an empty "replies" array:

{
  idConversation: ...,
  idOperator: ...,
  replies: [], // Empty replies
  createdAt: ...,
  updatedAt: ...
}

My bot always appears to be offline, how can I change that?

Why is the iAdvize bot selected and not my external bot in the iAdvize admin interface?

Did you implement correctly the following endpoints:

PreviousConfigurationNextBest practices

Last updated 1 year ago

Was this helpful?

Is your bot available to chat? Make sure that your bot is available to chat i.e. the availability endpoint is reachable and returns true.

Did you implement the correctly?

See the availability-strategy endpoint here.
GET /availability-strategies
GET /external-bots
PUT /bot/:id
GET /bot/:id