๐Ÿ“– Setup Guide

Connect ShadowBook
to Your Tools

Three integrations โ€” Apaleo PMS, WhatsApp Business, and Omnichannel โ€” all explained with exact steps, UI visuals and what each button does inside ShadowBook.

โฑ ~5 min eachSettings โ†’ find each tabPro plan required
๐Ÿจ

Apaleo PMS โ€” OAuth 2.0

Connect your Apaleo account in 4 clicks using secure OAuth. No API keys to copy โ€” ShadowBook handles the token exchange automatically.

Where in ShadowBook

app.shadowbook.online/settings
GeneralWhatsAppHospitalityOmnichannelVoicePayments

PMS Provider

Select your Property Management System

MEWSAPALEO
๐Ÿ”

Connect Your Apaleo Account

Authorize ShadowBook to access your property via Apaleo's secure OAuth 2.0 flow.

Connect Apaleo PMS โ†’

How the OAuth Flow Works

๐Ÿ–ฑ๏ธ
Click Connect Apaleo
โ†’
๐Ÿ”—
Redirected to identity.apaleo.com
โ†’
๐Ÿ”‘
Log in & Authorize
โ†’
โ†ฉ๏ธ
Redirected back to ShadowBook
โ†’
๐Ÿ˜๏ธ
Select Property
โ†’
โœ…
Live!

Step-by-Step

1

Go to Settings โ†’ Hospitality tab

Log in to ShadowBook, open Settings from the left sidebar, and click the Hospitality tab.

๐Ÿ’กMake sure you are on a Pro plan. The Hospitality tab is only visible for active subscribers.
2

Select Apaleo as your PMS

At the top of the Hospitality section you will see a toggle: MEWS / APALEO. Click APALEO.

3

Click "Connect Apaleo PMS"

A card appears with a green button Connect Apaleo PMS โ†’. Click it. ShadowBook calls GET /api/v2/apaleo/auth-url to generate a secure OAuth URL and redirects your browser to identity.apaleo.com.

4

Log in to Apaleo and Authorize

You will land on the official Apaleo login page. Sign in with your Apaleo credentials. Review the requested permissions shown on screen:

identity.apaleo.com โ€” Authorization

ShadowBook is requesting access to:

โœ“offline_access โ€” keep connection alive without re-login
โœ“reservations.read โ€” read guest bookings
โœ“reservations.manage โ€” create & update reservations
โœ“availability.read โ€” check room availability
โœ“setup.read โ€” read property configuration
โœ“folios.read / folios.manage โ€” view & post charges to guest folios
โœ“ AllowCancel

Click Allow. Apaleo exchanges the authorization code and returns you to ShadowBook automatically.

5

Select Your Property

ShadowBook exchanges the code for OAuth tokens behind the scenes. You are now redirected back to Settings โ†’ Hospitality. A new dropdown appears:

ShadowBook โ€” Select Property
๐Ÿจ

Account Connected!

Now select which property to activate.

Apaleo Property

Select a property...โ–พ

e.g. Grand Hotel Vienna (GRND)

๐Ÿข Finish Setup

Choose the property from the dropdown and click Finish Setup. The Property ID (e.g. GRND) is saved to your account.

6

Verify โ€” LIVE badge appears

The Hospitality card now shows a green LIVE badge with your property name and two status indicators: Availability Checks and Reservations โ€” both via Apaleo in real-time.

ShadowBook โ€” Connected
๐Ÿจ

Apaleo Property Connected

Property ID: GRND

LIVE
โš ๏ธIf you see an error banner saying auth_failed, your Apaleo credentials may have expired. Click Reconnect to repeat the OAuth flow โ€” it only takes seconds.
๐Ÿ’ฌ

WhatsApp Business โ€” WABA

Connect your own WhatsApp Business Account (WABA) via Meta's Embedded Signup. ShadowBook uses the official WhatsApp Cloud API โ€” no QR codes, no phone scanning.

Where in ShadowBook

app.shadowbook.online/settings โ†’ WhatsApp tab
GeneralWhatsAppHospitalityOmnichannelVoicePayments
๐Ÿ’ฌ

Connect WhatsApp Business Account

Use Meta Embedded Signup to link your WABA

Connect via Meta โ†’

Two Connection Modes

๐ŸŸข Easy Mode (Recommended)

A Meta popup opens in your browser. You log in, select your WABA and phone number โ€” ShadowBook handles everything else automatically.

โš™๏ธ Manual Mode

Paste your WABA ID, Phone Number ID and Permanent System User Access Token directly. Use this if your Meta App is already set up or you are a developer.

Easy Mode โ€” OAuth Flow

๐Ÿ–ฑ๏ธ
Click "Connect via Meta"
โ†’
๐Ÿ“ฑ
Meta popup opens
โ†’
๐Ÿ”
Log in to Facebook
โ†’
โœ…
Select WABA & number
โ†’
๐Ÿ’พ
Token saved
โ†’
๐Ÿš€
AI active on WhatsApp

Step-by-Step (Easy Mode)

1

Prerequisites โ€” what you need before starting

Before connecting, make sure you have:

โœ“A Facebook Business Manager account (business.facebook.com)
โœ“A verified WhatsApp Business Account (WABA) registered under your Business Manager
โœ“A phone number registered in that WABA (not currently on personal WhatsApp)
โœ“Business Verification completed in Meta Business Manager โ†’ Security Centre
โš ๏ธIf your business is not verified by Meta, the popup will show #N/A. Go to Meta Business Manager โ†’ Business Settings โ†’ Security Centre โ†’ Start Verification. This takes 1โ€“3 business days.
2

Click "Connect via Meta" in ShadowBook

On the WhatsApp tab in Settings, click Connect via Meta. A Meta popup window opens in your browser.

๐Ÿ’กMake sure your browser allows popups from app.shadowbook.online. If the popup is blocked, click the address bar icon to allow it.
3

Log in and select your WhatsApp Business Account

Meta โ€” WhatsApp Embedded Signup Popup
f
Connect Your WhatsApp Business

1. Select Business Portfolio

My Hotel Businessโ–พ

2. Select WhatsApp Business Account

Hotel Grand Vienna WABAโœ“

3. Select Phone Number

+43 123 456789โœ“
Continue โ†’
4

ShadowBook exchanges the token automatically

After you click Continue, Meta sends an auth code to ShadowBook. Our backend calls POST /api/v2/whatsapp/embedded-signup/exchange-token which:

1Exchanges the short-lived auth code for a 60-day long-lived token
2Discovers your WABA ID using Meta's Graph API
3Fetches the phone number registered under your WABA
4Subscribes the WABA to ShadowBook's webhook so messages are delivered
5Registers the phone number for WhatsApp Cloud API
6Saves all credentials encrypted in your account
7Auto-provisions WhatsApp message templates for your business category
5

Connection confirmed โ€” AI is live on WhatsApp

ShadowBook โ€” WABA Connected
๐Ÿ’ฌ

WhatsApp Business Connected

+43 123 456789 ยท WABA: 198474928...

LIVE

The AI Concierge will now receive and reply to WhatsApp messages sent to your registered number.

Manual Mode โ€” for Developers

Click Manual on the WhatsApp tab to switch to the credential form.

ShadowBook โ€” Manual WABA Connect

WABA ID

1234567890123456

๐Ÿ“ Find it: Business Manager โ†’ WhatsApp Accounts โ†’ Account ID

Phone Number ID

9876543210987654

๐Ÿ“ Find it: Meta App โ†’ WhatsApp โ†’ Phone Numbers โ†’ Phone Number ID

Permanent Access Token

EAA...

๐Ÿ“ Find it: Meta Business Suite โ†’ System Users โ†’ Generate Token

Save & Connect โ†’
๐Ÿ”—

Omnichannel โ€” Messenger, Instagram & Telegram

Connect Facebook Messenger, Instagram DMs and Telegram in Settings โ†’ Omnichannel. Each channel connects independently using OAuth.

Where in ShadowBook

app.shadowbook.online/settings โ†’ Omnichannel
GeneralWhatsAppHospitalityOmnichannelVoicePayments
๐Ÿ’ฌ

Facebook Messenger

Connect your Facebook Page

Connect with Facebook โ†’
๐Ÿ“ธ

Instagram DMs

Connect Instagram Professional account

Connect Instagram โ†’
โœˆ๏ธ

Telegram Bot

Paste your Bot Token

Manual

A โ€” Facebook Messenger

๐Ÿ–ฑ๏ธ
Click Connect Facebook
โ†’
๐Ÿ”—
Redirect to facebook.com
โ†’
๐Ÿ“„
Select your Page
โ†’
โ†ฉ๏ธ
Callback to ShadowBook
โ†’
๐Ÿ””
Webhook subscribed
โ†’
โœ…
Messenger live
1

Click "Connect with Facebook"

ShadowBook calls GET /api/v2/meta/auth-url and redirects you to the Facebook OAuth dialog requesting scopes: pages_show_list, pages_messaging, pages_manage_metadata, instagram_basic, instagram_manage_messages.

2

Log in to Facebook and select your Page

Choose the Facebook Page that represents your hotel or business. If you manage multiple pages, pick the correct one. Click Continue.

3

Automatic token exchange and webhook setup

ShadowBook receives the callback, exchanges the code for a long-lived page access token (permanent), fetches all linked pages, saves each page's WebhookConfig, and subscribes the app to receive messages, deliveries and read receipts.

4

Messenger is live

You are redirected to Settings โ†’ Omnichannel with a toast: "Facebook Messenger connected successfully!". The AI now handles all incoming Messenger DMs.

B โ€” Instagram DMs

๐Ÿ’กInstagram DMs require your Instagram account to be a Business or Creator account and must be linked to a Facebook Page. Personal Instagram accounts are not supported by Meta's Messaging API.
1

Make sure your Instagram account is Professional

In the Instagram app go to Settings โ†’ Account โ†’ Switch to Professional Account โ†’ Business. Then link it to your Facebook Page: Settings โ†’ Linked Accounts โ†’ Facebook.

2

Click "Connect Instagram" in ShadowBook

ShadowBook calls GET /api/v2/instagram/auth-url. You are redirected to a separate Facebook OAuth dialog with Instagram-specific scopes: instagram_basic and instagram_manage_messages.

3

Select your Instagram Business Account

Choose the Instagram account from the list shown in the popup. If nothing appears, your Instagram is not linked to a Facebook Page.

4

Instagram DMs are live

Redirected back with status=instagram_connected. The AI can now reply to Instagram DMs. If you see status=instagram_no_account, your Instagram is not a Professional account linked to a Page.

C โ€” Telegram Bot

1

Create a Telegram Bot via BotFather

Open Telegram and search for @BotFather. Send the command /newbot. Follow the prompts โ€” provide a name (e.g. "Grand Vienna Concierge") and a username ending in _bot. BotFather replies with your Bot Token.

2

Paste the Token in ShadowBook

In Settings โ†’ Omnichannel, scroll to the Telegram section. Paste your Bot Token (format: 1234567890:ABCDef...) into the field.

3

Click "Commit Changes"

ShadowBook saves the token, registers the webhook, and the bot is ready. Messages sent to your Telegram bot will now be routed to the AI.

Marketing Templates โ€” Provision After Connecting

After connecting WhatsApp, go to the Omnichannel tab and click Provision Now in the Meta (WhatsApp / V1) card. This submits pre-approved message templates to Meta for review.

ShadowBook โ€” Marketing Templates

Marketing Templates

Universal campaign templates

โœฆ Provision Now
Meta Approval Status:PENDING
โš ๏ธTemplates take 1โ€“24 hours for Meta to review. Once approved, the badge changes from PENDING to APPROVED.

Common Issues & Fixes

Apaleo: I see 'auth_failed' after the redirect.+
The OAuth exchange failed. This usually means your Apaleo session expired during the redirect. Click Connect Apaleo PMS again to start a fresh flow.
Apaleo: My property dropdown is empty after authorizing.+
Your Apaleo account has no properties visible to this OAuth app. Check that the application in developer.apaleo.com is assigned to the correct property/account. Contact Apaleo support if needed.
WhatsApp WABA: Meta popup shows #N/A error.+
Your Facebook Business portfolio is not verified. Go to Meta Business Manager โ†’ Business Settings โ†’ Security Centre โ†’ Start Verification. The process takes 1โ€“3 business days.
WhatsApp WABA: Popup blocked by browser.+
Click the popup blocker icon in your browser's address bar and select 'Always allow popups from app.shadowbook.online'. Then click Connect again.
Instagram: 'No Instagram Business Account was found' message.+
Your Instagram is either a personal account or not linked to a Facebook Page. In Instagram โ†’ Settings โ†’ Account โ†’ Switch to Professional Account, then link to your Facebook Page under Linked Accounts.
Messenger: 'No Facebook Pages were found' after login.+
The Facebook account you logged in with has no admin access to a Facebook Page. Make sure you are logging in with the account that owns or manages your business Facebook Page.
Telegram: Bot is not responding to messages.+
The Bot Token was likely saved incorrectly. Go back to Settings โ†’ Omnichannel, delete the current token, paste the fresh one from @BotFather, and click Commit Changes.

Ready to connect? Open ShadowBook Settings.