Plateforme
Templates
Tarifs
Ressources
DocumentationAPI
Contact
Se connecter
Commencer
FR
EN

partager

Comment connecter un flux RSS à un chatbot ?

Utiliser un flux RSS est une façon maligne de communiquer des données dynamiques sans avoir à modifier l'implémentation de son assistant. En plus, c'est très simple à mettre en place dans la console de Prisme.ai

Parution le 

10/12/2021

, par 

Hadrien Lanneau

Le web propose depuis de nombreuses années un standard utilisé par de nombreux sites web permettant de stocker un index de pages web : le flux RSS. C'est une sorte de base de données accessible publiquement, mise à jour en temps réel et structurée selon un format standard. Ce flux est le plus souvent utilisé pour donner la liste chronologique des articles d'un blog, mais il peut aussi servir à fournir n'importe quelle liste de données : des points d'intérêts géolocalisés, des offres d'emplois, etc.

Dans le cadre d'un agent conversationnel, il peut être courant de vouloir donner accès à vos usager à l'une de ces listes d'articles de façon plus conviviale qu'une simple liste de liens. Vous pourriez par exemple afficher un carrousel de cartes pour chaque article. Mais avant d'en arriver là, il faut d'abord être capable de consommer votre flux RSS depuis la console. Nous allons découvrir comment une fonction très simple peut nous permettre d'arriver à nos fins.

Voici son code source en javascript :

import Parser from 'rss-parser';
const parser = new Parser();
return await parser.parseURL(feed);

La première étape est d'importer un paquet npm qui sert à transformer un flux rss en données exploitable. La seconde est de la retourner pour pouvoir l'utiliser dans un workflow.

Insérez une instruction Fonction et choisissez la fonction "Feed RSS". En paramètre, indiquez l'adresse de votre flux RSS. Et finalement, donnez un nom pour le résultat de la fonction.

La fonction va donc retourner un objet dont la structure est décrite dans la documentation de la librairie utilisée. Ce qui nous intéresse c'est la propriété `items` qui est un tableau contenant chaque élément de notre flux. Il va nous falloir boucler dessus pour générer une carte pour chacun. Nous allons donc insérer une instruction `repeat` pour laquelle nous allons indiquer que nous voulons boucler sur `$feed.items` :

Nous pouvons enfin glisser une instruction `card` dans le repeat que nous allons compléter en utilisant les propriétés de chaque item :

Un bouton de type lien permettra à l'utilisateur de visiter la page web :

Voici finalement notre workflow complet :

En mode Manifest, cela correspondra à :

Intents:
  feed:
    do:
      - call function:
          resource: Feed RSS
          parameters:
            feed: https://xkcd.com/rss.xml
          output: feed
      - repeat:
          on: $feed.items
          then:
            - say card:
                buttons:
                  - say link:
                      text: Voir l'article
                      value: $link
                      openInPanel: true
                title: $title
                text: $content

Et voici le résultat au sein de votre boite de dialogue :

PlateformeCas d'usageTarifs
BlogDocumentationRecrutement
Se connecterBlagnac, France
CGUMentions LégalesPolitique de confidentialité

Tous droits réservés Prisme.ai - 2016-2022 - Gogowego SAS - Made In Francecréation de site internet polish_ studio