Pour les éditeurs de logiciels

Ton IA répond aux voyageurs
sur chaque canal.

Repull transmet chaque message de voyageur à ton modèle, avec le fil et la réservation associés, et renvoie la réponse sur Airbnb, Booking.com ou Vrbo. Tu apportes l'intelligence ; on gère les canaux.

Ce que ton produit obtient

La plomberie dont un assistant IA a besoin.

Ton modèle décide quoi dire. Repull lui transmet le message et porte la réponse au voyageur.

Chaque question, dès son arrivée

Un webhook signé pour chaque nouveau message, avec l'id du fil, le canal, la réservation et le texte.

Le contexte pour bien répondre

L'historique du fil, la réservation avec ses dates, ses voyageurs et ses conditions de séjour, et l'annonce : un appel chacun.

Des réponses fiables

Quand un canal réécrit un message (Airbnb supprime les liens et les numéros de téléphone), la réponse t'indique exactement ce que le voyageur a reçu.

Comment ça marche

Webhook en entrée, réponse en sortie.

Abonne-toi aux messages des voyageurs, récupère le contexte, laisse ton modèle rédiger la réponse et envoie-la. Utilise l'id de l'événement comme clé d'idempotence pour qu'un webhook relancé n'envoie jamais deux fois.

  1. 1

    Reçois le message

    reservation.message.received arrive signé, avec threadId et reservationId.

  2. 2

    Rassemble le contexte

    Récupère l'historique du fil et la réservation. Ajoute ta propre base de connaissances.

  3. 3

    Envoie la réponse

    Fais un POST de la réponse. Repull la livre sur le canal du voyageur et l'enregistre dans le fil.

assistant.ts · ts
// api(): fetch on api.repull.dev with your API key
// Subscribed to reservation.message.received
export async function POST(req: Request) {
  const event = await req.json() // verify X-Repull-Signature first
  if (event.event !== 'reservation.message.received') return new Response(null)

  const { threadId, reservationId, body } = event.data

  // Context: the thread so far and the booking it belongs to
  const history = await api(`/v1/conversations/${threadId}/messages?order=asc`)
  const booking = reservationId ? await api(`/v1/reservations/${reservationId}`) : null

  const reply = await yourModel.answer({ question: body, history, booking })

  const sent = await api(`/v1/conversations/${threadId}/messages`, {
    method: 'POST',
    headers: { 'Idempotency-Key': event.eventId },
    body: JSON.stringify({ message: reply }),
  })

  // Airbnb strips links and phone numbers — check what the guest actually got
  if (sent.contentRewritten) log('delivered as', sent.deliveredContent)
  return new Response(null)
}

Couverture par canal

Où ton assistant peut répondre

AirbnbLecture et réponse sur les réservations et les demandes.
Booking.comLecture et réponse, pièces jointes comprises.
VrboLecture et réponse en texte.
PMS de l'hôteLes messages des voyageurs de tous les canaux gérés par le PMS, réservations directes comprises, pour les PMS auxquels on se connecte. Les réponses repartent par le PMS quand son API le permet.

La couverture est vérifiée sur l'API en production. Couverture complète des canaux et des PMS

À côté de n'importe quel PMS

Tes clients gardent les outils qu'ils utilisent déjà.

Le PMS garde la main sur l'annonce

Sur Airbnb et Vrbo, Repull se connecte avec un accès limité à la messagerie. Le PMS de l'hôte continue de gérer les annonces et les calendriers, et ton produit ne lui dispute jamais le contrôle.

Booking.com via l'accès extranet de l'hôte

En bêta : réservations, messages et avis de Booking.com, sans que l'hôte retire son fournisseur de connectivité à son PMS.

Une intégration, tous les canaux

Les mêmes endpoints et les mêmes événements webhook, que le voyageur ait réservé sur Airbnb, Booking.com ou Vrbo. Tu le construis une fois.

Comment Repull fonctionne à côté d'un PMS→

L'API derrière

Endpoints et événements

reservation.message.received

Webhook : un nouveau message de voyageur, avec le fil, la réservation et le canal.

GET /v1/conversations/{id}/messages

La conversation jusqu'ici, comme contexte.

GET /v1/reservations/{id}

Dates, voyageurs, conditions de séjour et statut.

POST /v1/conversations/{id}/messages

Envoie la réponse, de façon idempotente.

POST /v1/reviews/{id}/reply

Laisse le même assistant répondre aux avis, là où le canal autorise les réponses.

Serveur MCP et fournisseur AI SDK

Donne Repull à un agent sous forme d'outils au lieu d'écrire les appels toi-même.

Mets ton IA face à chaque voyageur.

Gratuit pour commencer. Branche un webhook et réponds à ton premier voyageur aujourd'hui.