- CategoryRentals
- AuthPublic listings
Overview
Airbnb connects on /integrations in the dashboard by pasting one or more public Airbnb listing URLs. The card is flagged independentConnection, so Airbnb and Hospitable can both be live on the same tenant at once. The connect modal 'Connect Airbnb' carries a single field (payload key 'listings', an array) edited by a bespoke AirbnbListingsField, with no API key, no OAuth and no account linking. On Integrate, MessageMind posts every pasted link to /integration/setup; the server normalizes each URL to a listing id, drops duplicates, kicks the request back if the account is not registered as Short Term Rentals, and queues an immediate scrape of each accepted listing. From there a scheduled weekly rescrape refreshes the AI's property catalog in place.
What MessageMind can do with it
- Import your Airbnb listings as rows in the AI's property catalog, keyed by the listing id in the URL.
- Read each listing's title, description, amenities (available and unavailable), house rules, cancellation policy, check-in and check-out windows, quiet hours, bedroom, bed and bathroom counts and sleeping capacity.
- Read location (city, region, country), host name, Superhost status, star rating and review count.
- Pull up to ten listing photos per property with their accessibility captions, so the AI can reference them when answering guests.
- Re-scrape every connected listing on a weekly schedule and refresh the catalog in place.
- Mark a listing as delisted only after two consecutive confirmed not-found results, so a transient block or captcha never wipes a live property.
- Coexist with Hospitable on the same tenant through the independentConnection flag, so a Short Term Rentals account can run both at once.
Requirements
- A MessageMind account registered as Short Term Rentals. The connect form refuses other account kinds with the toast 'Airbnb is only available for Short Term Rentals accounts.'
- The full public URL (or the bare listing id) of each Airbnb listing you want to import. Shortened airbnb.app.link and abnb.me links must be expanded to airbnb.com/rooms/... first.
- At least one valid link in the list. An empty submit raises the toast 'Add at least one Airbnb property link.' and the Integrate button stays disabled.
How to connect
- In the MessageMind dashboard, open /integrations and click the Airbnb card. The 'Connect Airbnb' modal opens with its one-liner: 'No API key needed, just paste the public link of each Airbnb property you want MessageMind to know about. Open a listing on airbnb.com, copy the URL straight from the address bar and add it below (one link is enough to get started). Once connected, MessageMind imports those listings so your AI agent can answer guest questions about them.'
- In the 'Property links' field, paste one Airbnb listing URL per line (placeholder: https://www.airbnb.com/rooms/1597685945984399331). Any Airbnb country domain works and bare listing ids are also accepted.
- Click Integrate. The payload posts under the single key 'listings' as an array. MessageMind validates each link, drops duplicates, and reports any that could not be parsed with a per-link failure reason.
- If the account is not Short Term Rentals, the connect is refused with 'Airbnb is only available for Short Term Rentals accounts.' If the server call itself errors, the toast reads 'Airbnb connection failed!'
- On a successful connect, Sync Products flips on and an immediate first-import pass is queued. The AI starts seeing your listings as soon as that pass finishes.
- To change the set later, open the same card again; MessageMind warns 'Airbnb is already connected, edit your properties in its settings.' and routes you to the manager where you can add or remove links.
Authentication and permissions
- Mechanism
- No credential. The integration stores a list of Airbnb listing ids and reads each listing's public page on a schedule; nothing is sent to Airbnb on your behalf.
- Credentials
- The listing URLs you paste, held under the single payload key 'listings' as an array. No API key, no OAuth, no account linking.
Available data and actions
Reads
- Each connected listing's public Airbnb page, fetched in English with USD pricing pinned, to extract the catalog fields the AI needs.
- The listing id parsed out of the URL path, used as the catalog row key.
AI agent use cases
- Answer guest questions about amenities, bed configuration, check-in time, pets, smoking or parties using the exact wording from your Airbnb listing.
- Describe the property's location, neighbourhood and host (including Superhost status and rating) without the guest having to open the listing.
- Keep the AI's answers aligned with your Airbnb copy automatically, since the weekly rescrape picks up edits you make in Airbnb.
- Run Airbnb alongside Hospitable on the same Short Term Rentals account for properties you list on both.
Configuration
- You add or remove listing URLs at any time from the integration settings. Edits replace the full list; the next poll runs immediately when the list changes.
- Turning Sync Products off clears the next scheduled poll; turning it back on queues an immediate pass.
- Each account is rescraped weekly. A connect, a Sync toggle flip, or a listing-list edit all trigger an immediate pass outside that cadence.
- Airbnb publishes no price on the listing page, so the catalog carries no price. The AI never quotes a nightly rate from this integration.
- The card is independentConnection, so connecting Airbnb does not disconnect Hospitable (and vice versa).
Example workflows
First import after connect
- You paste your listing URLs and click Integrate.
- MessageMind normalizes each URL to a listing id, drops duplicates and stores the resulting array under the 'listings' key.
- An immediate scrape runs: each listing page is fetched, parsed, and written as one catalog row.
- The AI starts answering guest questions against the imported properties.
- Thereafter, the weekly rescrape refreshes every row in place.
Limitations
- There is no official Airbnb API behind this: the integration is a scheduled scrape of each listing's public page.
- This listing-import connector does not use a booking API. The AI can describe your listings but cannot check availability, quote prices or create reservations from Airbnb data.
- Short-link formats (airbnb.app.link, abnb.me) are refused. Open the short link and paste the resolved airbnb.com/rooms/... URL.
- If Airbnb serves a bot challenge, locale handoff or empty stub for a listing, that listing is retried once and otherwise skipped for the cycle. Only two consecutive confirmed not-found results mark a listing as delisted.
- Only Short Term Rentals accounts can connect Airbnb; other account kinds are refused at Integrate time.
Troubleshooting
The toast says 'Add at least one Airbnb property link.'
The 'Property links' field is empty. Paste at least one Airbnb listing URL (or bare listing id) in the field and click Integrate again.
The toast says 'Airbnb is only available for Short Term Rentals accounts.'
The account is not registered as Short Term Rentals. Switch the account's category to Short Term Rentals, or connect Airbnb from an account that is already registered as one.
The toast says 'Airbnb connection failed!'
The /integration/setup call errored. Confirm each link is a listing URL on an airbnb.* domain (or a bare listing id), expand any airbnb.app.link or abnb.me short links to airbnb.com/rooms/..., and retry. Per-link failures are reported alongside the toast.
The modal warns 'Airbnb is already connected, edit your properties in its settings.'
Expected: the card is reopening on a live connection. Use the settings panel to add or remove listing URLs; the next poll runs immediately on save.
A listing is missing from the AI's catalog after import.
Check the per-link failures reported on save. A listing that returns a bot challenge or an empty payload is retried once and then skipped for that cycle; the next weekly pass will try again. Two consecutive confirmed not-found results are required before the listing is marked delisted.
The AI quotes outdated amenities or house rules.
The scrape runs at most once a week per account. Edit your listing in the integration settings (remove and re-add it) to force an immediate pass, or wait for the next scheduled run.
Disconnect and reconnect
- Open the Airbnb card on /integrations and remove the listing URLs you no longer want imported, or disable Sync Products to stop the weekly refresh.
- Removing a listing URL drops that property from the catalog on the next pass. Disabling the sync keeps the stored catalog but stops future refreshes.
- Because the card is independentConnection, disconnecting Airbnb does not affect a parallel Hospitable connection on the same tenant.