Teneo Developers

LINE

This node.js example connector allows you to make your Teneo bot available on LINE. This guide will take you through the steps of creating a new LINE Provider and deploying the connector to respond to events sent by Teneo.

line logo

You can find the source code of this project on Github.

Prerequisites

Https

Making the connector available via https is preferred. Ngrok is recommended for this.

LINE App

The LINE app should already be running with an active account on your device.

Teneo Engine

Your bot needs to be published and you need to know the engine URL.

Setup instructions

Create and configure a Line Provider

  1. Log in with your LINE account here: https://developers.line.biz/en/. Use a QR Code or an email address. You may need to complete your developer profile.
  2. Click on Create New Provider, and give it a name.
  3. Now, create a Messaging API Channel, and fill in the necessary fields: description, icon, category, etc.
  4. Open the newly created channel, find and copy the CHANNEL_SECRET value for later use.

Running the connector locally

  1. Download or clone the connector source code: git clone https://github.com/artificialsolutions/tie-api-example-line.git
  2. Install dependencies by running the following command in the folder where you stored the source: npm install
  3. A file .env.sample file is included in the project. Use it as a reference to create a .env file in the folder where you stored the source, and add values for CHANNEL_SECRET and TENEO_ENGINE_URL. CHANNEL_ACCESS_TOKEN will be set later on. TENEO_ENGINE_URL=<your_engine_url> CHANNEL_SECRET=<that value obtained in the previous section> CHANNEL_ACCESS_TOKEN=<value issued in the upcoming section>
  4. Start the connector in Console: node server.js

Next, we need to make the connector available via https. We'll use ngrok for this.

  1. Start ngrok. The connector runs on port 3000 by default, so we need to start ngrok like this: ngrok http 3000
  2. Running the command above will display a public https URL. Copy it, you will need it in the next section.

Update Webhook URL in the line provider

  1. Once the connector is available via https, copy the public https URL from the previous step and paste in into the Webhook URL of your Line Channel provider. Also, add a /callback suffix to the URL field. The final Webhook URL should look roughly like this: https://7a6e4de6.ngrok.io/callback
  2. Click the blue 'Update' button to save the url.

Update Webhook URL in the Line Provider

  1. Next, in the 'LINE Official Account Features' section > 'Auto-reply messages', click on 'Edit'.

  2. Set 'Response mode' to Bot. Disable 'Auto-Response' and 'Greeting Message'. Set 'Webhooks' to Enabled.

  3. Go back to 'Messaging API' > 'Webhook Settings' and set 'Webhook URL' by using the public https URL obtained from ngrok in the previous step, and attaching the suffix '/callback'. The URL will look roughly like this:

    https://12345abcde.ngrok.io/callback
  4. Click 'Verify' and also Enable 'Use Webhook'.

  5. Browse to 'Message API' > Channel Access Token. Click issue, and copy the 'Channel Access Token' value for later use. It is very important to note that this token must be re-issued everytime the Webhook URL is changed, to prevent authentication errors.

Update and restart the Connector

  1. Finally, update the CHANNEL_ACCESS_TOKEN variable in .env file of your project source with the 'Channel Access Token' value obtained in the previous step:

TENEO_ENGINE_URL=< your_engine_url > CHANNEL_SECRET=< The value obtained in previous steps> CHANNEL_ACCESS_TOKEN=< 'Channel Access Token', from the previous step >

  1. Restart the connector in Console: node server.js

Start chatting with the bot.

Go back to the Basic Settings section of your Provider, and locate the QR code shown in the bots section. Use it to add your bot as a new contact to your LINE app.

That's it! Your bot should now be available in LINE and responding to messages that are sent to it.