Conduit connects to Oracle OPERA Cloud through the Oracle Hospitality Integration Platform (OHIP). Unlike most PMS integrations, OPERA Cloud does not use a single API key. You collect five values from the OHIP Developer Portal, paste them into Conduit, and Conduit starts syncing that property.Every value comes from the Developer Portal except the Hotel ID, which is your OPERA property code.
You connect one property at a time. A chain with six hotels means six connections in Conduit, all sharing the same Gateway URL, Client ID, Client Secret, and Enterprise ID, and each with its own Hotel ID.
The person collecting the credentials needs the DEVELOPERPORTALACCESS role on their OPERA Cloud user. Without it, the Oracle Hospitality Developer Portal link will not appear in the OPERA Cloud menu.If the role is missing, request it through OPERA Cloud Identity Management, or ask whoever administers your OPERA Cloud tenant. See Oracle’s Accessing the OHIP Developer Portal.
In OPERA Cloud, open the side menu and select Oracle Hospitality Developer Portal.You can also sign in directly using the portal URL from your OHIP welcome email. There are separate portals for UAT and PROD, so make sure you are in the one matching the environment you want to connect. Conduit should normally be pointed at PROD.
2
Get the Gateway URL, Client ID, Client Secret and Enterprise ID
Click the Environments tab at the top of the portal, then click View Details on your environment card.The details panel shows:
Gateway URL, copy it exactly, with no trailing slash and no spaces
Client ID and Client Secret
Enterprise ID
The list of properties approved for integration
If no Client ID and Secret are shown, click Create Client Credentials to generate them.
The Gateway URL is an API host, not the address you use to log in to OPERA Cloud. It looks like https://xxx.hospitality-api.<region>.ocs.oraclecloud.com. If the URL you copied contains /operacloud/faces/ or adf.task-flow, you copied the OPERA Cloud web UI address and the connection will not work.
The Client Secret is only fully visible when it is created. If nobody saved it, generate a new one from the same panel.
3
Register an application and copy the Application Key
Open the Applications tab and register a new application for Conduit (or open the existing one if your team already created it).When creating the application, subscribe it to all the APIs that appear. Conduit calls reservations, guest profiles, property configuration, availability, folios, and housekeeping, so a partial subscription will make parts of the integration fail silently.Once the application is registered, copy its Application Key. This is the value you paste into Conduit’s App Key field.
An application key belongs to one chain. If you operate multiple chains, create one application per chain and use the matching key for each connection.
4
Note your Hotel ID
The Hotel ID is your OPERA property code, the same short code you use to select a property inside OPERA Cloud. It is usually 5 to 6 uppercase characters, for example SANDPT or BLUBAY.It is not a number and it is not the hotel’s display name. The properties approved for integration are listed in the environment details panel from step 2.
5
Confirm the property is approved for integration
In the environment details panel, check that the property you want to connect appears in the Properties list.Only your team can approve properties for integration. If a hotel is missing from that list, no credentials will make it work until it is added.
In Conduit, go to Settings > PMS under Channels and click Add PMS.
If PMS is not visible, your workspace needs to be a Short Term Rental or Hotel type. Set the industry in the workspace’s company settings, or create a new workspace of that type.
2
Pick Opera from the provider list
Search for Opera and click it.
3
Fill in the credentials
Paste the values you collected in Part 1:
Gateway URL
Hotel ID
Client ID
Client Secret
Enterprise ID
App Key, optional
Then click Connect.
Leave Username and Password empty. Those fields are only used for the older SSD (Resource Owner) authentication scheme. Almost every OPERA Cloud tenant uses client credentials, which is what the Client ID, Client Secret and Enterprise ID combination above enables.
4
Import the property
Conduit calls OPERA Cloud and shows the property it found. Click Import to bring it in, or Skip to connect without importing yet.The property becomes a listing in Conduit, carrying its address, timezone, currency, check-in and check-out times, room types, and amenities.
5
Repeat for each additional property
For a second hotel, go to Settings > PMS under Channels and click Add PMS > Opera again with the same Gateway URL, Client ID, Client Secret, Enterprise ID, and App Key, changing only the Hotel ID.
Conduit imports the property once, then polls OPERA Cloud every few minutes to keep reservations current.
Data
Notes
Property details
Imported when you import the property: name, address, timezone, currency, check-in and check-out times, amenities, room types
Reservations
Kept current in a rolling window of roughly 30 days in the past and 180 days ahead
Guest profile fields
Names and contact details attached to synced reservations
Reservations create contacts automatically, so guest conversations land in the inbox already linked to the right booking. Property information appears under Agents > Knowledge after the first sync completes.
Connecting Opera Cloud registers a set of tools on the connection. An agent can use them once you assign the connection to that agent, and each tool can be switched off on the connection.Read-only lookups:
Check availability for a date range, room type, and rate plan
Get a reservation
Get a guest profile, and search guests by name, email, phone, or membership number
Read stay history and folios
Read the housekeeping overview
Actions that write back to OPERA:
Create, update, and cancel a reservation
Update room status
Post a routing instruction
The write actions change live PMS data. Try them against a test property, or keep the agent in copilot mode so a person approves each one, before letting an agent run them unattended on a production property.
See Tools for how connections and tools reach an agent.
This is the usual symptom of a credential problem, since Conduit saves what you paste and then immediately tries to read the property.Check, in this order:
The Gateway URL is the API host and has no trailing slash, no leading or trailing spaces, and no /operacloud/faces/ path.
The Hotel ID matches the property code exactly, including case.
The Enterprise ID is present. Client credentials authentication fails without it.
The App Key belongs to the same chain as the environment.
The property appears in the Properties list in the environment details panel.
Authentication fails but the credentials look right
Regenerate the Client Secret from Environments > View Details > Create Client Credentials and reconnect. A secret that was partially copied, or was rotated in the portal after Conduit was connected, produces the same failure as a wrong one.Also confirm you are using PROD portal credentials against a PROD environment. UAT credentials will not authenticate against production.
Reservations sync but some data is missing
Open the application in the Applications tab and confirm it is subscribed to every available API. If your environment uses module level access control, the client also needs access to the OPERA modules behind the data you are missing, such as reservations, profiles, cashiering for folios, and housekeeping.
A far-future booking has not appeared
Conduit syncs a rolling window of roughly 180 days ahead. A reservation past that window arrives once the window slides forward. If you regularly take bookings further out, tell us and we can widen the window for your deployment.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Conduit","colors":{"primary":"#C65F39","light":"#E07B4F","dark":"#A04E2E"},"logo":{"light":"https://mintcdn.com/conduit-58d85182/W75MZFEdXnjdpqg7/logo/light.svg?fit=max\u0026auto=format\u0026n=W75MZFEdXnjdpqg7\u0026q=85\u0026s=721a28dde7749c71ceae1dfe44e9f304","dark":"https://mintcdn.com/conduit-58d85182/W75MZFEdXnjdpqg7/logo/dark.svg?fit=max\u0026auto=format\u0026n=W75MZFEdXnjdpqg7\u0026q=85\u0026s=0ac29ae5f6c70541d5abff5a92d01f52"},"favicon":"https://www.conduit.ai/icon.png","navbar":{"links":[{"href":"mailto:support@conduit.ai","label":"Support"}],"primary":{"type":"button","label":"Book a Demo","href":"https://forms.default.com/717549"}},"footer":{"socials":{"website":"https://conduit.ai"}},"banner":{"content":"Migrating from Conduit V2? Read the [V3 migration guide](/get-started/v3-migration).","dismissible":true,"type":"info"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"conduit-58d85182","hasAudioNarration":false,"actualSubdomain":"conduit-58d85182","customDomains":["docs.conduit.ai"],"gitSource":{"type":"github","owner":"host-ai-app","repo":"project","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeef36520a5c82e8b81bb03","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":167},{"language":"default","tag":"Guides","count":146},{"language":"default","tag":"Portals","count":79},{"language":"default","tag":"Setup","count":66},{"language":"default","tag":"Build your agent","count":26},{"language":"default","tag":"Inbox","count":23},{"language":"default","tag":"Channels","count":22},{"language":"default","tag":"Workflows","count":16},{"language":"default","tag":"Agents","count":15},{"language":"default","tag":"Knowledge base","count":13}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@conduit.ai","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"setup/pms/opera-cloud","slug":"/setup/pms/opera-cloud","pageMetadata":{"title":"Connect Opera Cloud","sidebarTitle":"Opera Cloud","description":"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.","href":"/setup/pms/opera-cloud"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Heading,Note,Step,Steps,Table,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`Conduit connects to Oracle OPERA Cloud through the `,_jsx(_components.strong,{children:`Oracle Hospitality Integration Platform (OHIP)`}),`. Unlike most PMS integrations, OPERA Cloud does not use a single API key. You collect five values from the OHIP Developer Portal, paste them into Conduit, and Conduit starts syncing that property.`]}),`\n`,_jsx(_components.p,{children:`Every value comes from the Developer Portal except the Hotel ID, which is your OPERA property code.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`You connect `,_jsx(_components.strong,{children:`one property at a time`}),`. A chain with six hotels means six connections in Conduit, all sharing the same Gateway URL, Client ID, Client Secret, and Enterprise ID, and each with its own Hotel ID.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-need`,children:`What you need`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field in Conduit`}),_jsx(_components.th,{children:`Where it comes from`}),_jsx(_components.th,{children:`Example`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Gateway URL`})}),_jsx(_components.td,{children:`Developer Portal, Environments tab`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://xxx.hospitality-api.us-ashburn-1.ocs.oraclecloud.com`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Hotel ID`})}),_jsx(_components.td,{children:`Your OPERA property (resort) code`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`SANDPT`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client ID`})}),_jsx(_components.td,{children:`Developer Portal, Environments tab`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`a1b2c3d4-...`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client Secret`})}),_jsx(_components.td,{children:`Developer Portal, Environments tab`}),_jsx(_components.td,{children:`(secret)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Enterprise ID`})}),_jsx(_components.td,{children:`Developer Portal, Environments tab`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ABCD`})})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`App Key`}),` (optional)`]}),_jsx(_components.td,{children:`Developer Portal, Applications tab`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`e4f7a2b1-...`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.p,{children:[`The person collecting the credentials needs the `,_jsx(_components.strong,{children:`DEVELOPERPORTALACCESS`}),` role on their OPERA Cloud user. Without it, the Oracle Hospitality Developer Portal link will not appear in the OPERA Cloud menu.`]}),`\n`,_jsxs(_components.p,{children:[`If the role is missing, request it through OPERA Cloud Identity Management, or ask whoever administers your OPERA Cloud tenant. See Oracle’s `,_jsx(_components.a,{href:`https://docs.oracle.com/en/industries/hospitality/opera-cloud/23.4/ocsuh/c_getting_started_accessing_the_ohip_developer_portal.htm`,children:`Accessing the OHIP Developer Portal`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`part-1-collect-your-ohip-credentials`,children:`Part 1: Collect your OHIP credentials`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the Oracle Hospitality Developer Portal`,children:[_jsxs(_components.p,{children:[`In OPERA Cloud, open the side menu and select `,_jsx(_components.strong,{children:`Oracle Hospitality Developer Portal`}),`.`]}),_jsxs(_components.p,{children:[`You can also sign in directly using the portal URL from your OHIP welcome email. There are separate portals for UAT and PROD, so make sure you are in the one matching the environment you want to connect. Conduit should normally be pointed at `,_jsx(_components.strong,{children:`PROD`}),`.`]})]}),_jsxs(Step,{title:`Get the Gateway URL, Client ID, Client Secret and Enterprise ID`,children:[_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`Environments`}),` tab at the top of the portal, then click `,_jsx(_components.strong,{children:`View Details`}),` on your environment card.`]}),_jsx(_components.p,{children:`The details panel shows:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Gateway URL`}),`, copy it exactly, with no trailing slash and no spaces`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client Secret`})]}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Enterprise ID`})}),`\n`,_jsx(_components.li,{children:`The list of properties approved for integration`}),`\n`]}),_jsxs(_components.p,{children:[`If no Client ID and Secret are shown, click `,_jsx(_components.strong,{children:`Create Client Credentials`}),` to generate them.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`The Gateway URL is an API host, not the address you use to log in to OPERA Cloud. It looks like `,_jsx(_components.code,{children:`https://xxx.hospitality-api.\u003cregion>.ocs.oraclecloud.com`}),`. If the URL you copied contains `,_jsx(_components.code,{children:`/operacloud/faces/`}),` or `,_jsx(_components.code,{children:`adf.task-flow`}),`, you copied the OPERA Cloud web UI address and the connection will not work.`]})}),_jsx(Note,{children:_jsx(_components.p,{children:`The Client Secret is only fully visible when it is created. If nobody saved it, generate a new one from the same panel.`})})]}),_jsxs(Step,{title:`Register an application and copy the Application Key`,children:[_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Applications`}),` tab and register a new application for Conduit (or open the existing one if your team already created it).`]}),_jsxs(_components.p,{children:[`When creating the application, `,_jsx(_components.strong,{children:`subscribe it to all the APIs that appear`}),`. Conduit calls reservations, guest profiles, property configuration, availability, folios, and housekeeping, so a partial subscription will make parts of the integration fail silently.`]}),_jsxs(_components.p,{children:[`Once the application is registered, copy its `,_jsx(_components.strong,{children:`Application Key`}),`. This is the value you paste into Conduit’s `,_jsx(_components.strong,{children:`App Key`}),` field.`]}),_jsx(Note,{children:_jsx(_components.p,{children:`An application key belongs to one chain. If you operate multiple chains, create one application per chain and use the matching key for each connection.`})})]}),_jsxs(Step,{title:`Note your Hotel ID`,children:[_jsxs(_components.p,{children:[`The Hotel ID is your OPERA property code, the same short code you use to select a property inside OPERA Cloud. It is usually 5 to 6 uppercase characters, for example `,_jsx(_components.code,{children:`SANDPT`}),` or `,_jsx(_components.code,{children:`BLUBAY`}),`.`]}),_jsx(_components.p,{children:`It is not a number and it is not the hotel’s display name. The properties approved for integration are listed in the environment details panel from step 2.`})]}),_jsxs(Step,{title:`Confirm the property is approved for integration`,children:[_jsxs(_components.p,{children:[`In the environment details panel, check that the property you want to connect appears in the `,_jsx(_components.strong,{children:`Properties`}),` list.`]}),_jsx(_components.p,{children:`Only your team can approve properties for integration. If a hotel is missing from that list, no credentials will make it work until it is added.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`part-2-connect-opera-cloud-in-conduit`,children:`Part 2: Connect Opera Cloud in Conduit`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the PMS connection screen`,children:[_jsxs(_components.p,{children:[`In Conduit, go to `,_jsx(_components.strong,{children:`Settings > PMS`}),` under Channels and click `,_jsx(_components.strong,{children:`Add PMS`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`If PMS is not visible, your workspace needs to be a `,_jsx(_components.strong,{children:`Short Term Rental`}),` or `,_jsx(_components.strong,{children:`Hotel`}),` type. Set the industry in the workspace’s company settings, or create a new workspace of that type.`]})})]}),_jsx(Step,{title:`Pick Opera from the provider list`,children:_jsxs(_components.p,{children:[`Search for `,_jsx(_components.strong,{children:`Opera`}),` and click it.`]})}),_jsxs(Step,{title:`Fill in the credentials`,children:[_jsx(_components.p,{children:`Paste the values you collected in Part 1:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Gateway URL`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Hotel ID`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Client ID`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Client Secret`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Enterprise ID`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`App Key`}),`, optional`]}),`\n`]}),_jsxs(_components.p,{children:[`Then click `,_jsx(_components.strong,{children:`Connect`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Leave `,_jsx(_components.strong,{children:`Username`}),` and `,_jsx(_components.strong,{children:`Password`}),` empty. Those fields are only used for the older SSD (Resource Owner) authentication scheme. Almost every OPERA Cloud tenant uses client credentials, which is what the Client ID, Client Secret and Enterprise ID combination above enables.`]})})]}),_jsxs(Step,{title:`Import the property`,children:[_jsxs(_components.p,{children:[`Conduit calls OPERA Cloud and shows the property it found. Click `,_jsx(_components.strong,{children:`Import`}),` to bring it in, or `,_jsx(_components.strong,{children:`Skip`}),` to connect without importing yet.`]}),_jsx(_components.p,{children:`The property becomes a listing in Conduit, carrying its address, timezone, currency, check-in and check-out times, room types, and amenities.`})]}),_jsx(Step,{title:`Repeat for each additional property`,children:_jsxs(_components.p,{children:[`For a second hotel, go to `,_jsx(_components.strong,{children:`Settings > PMS`}),` under Channels and click `,_jsx(_components.strong,{children:`Add PMS > Opera`}),` again with the same Gateway URL, Client ID, Client Secret, Enterprise ID, and App Key, changing only the `,_jsx(_components.strong,{children:`Hotel ID`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-syncs`,children:`What syncs`}),`\n`,_jsx(_components.p,{children:`Conduit imports the property once, then polls OPERA Cloud every few minutes to keep reservations current.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Data`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Property details`}),_jsx(_components.td,{children:`Imported when you import the property: name, address, timezone, currency, check-in and check-out times, amenities, room types`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Reservations`}),_jsx(_components.td,{children:`Kept current in a rolling window of roughly 30 days in the past and 180 days ahead`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Guest profile fields`}),_jsx(_components.td,{children:`Names and contact details attached to synced reservations`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Reservations create contacts automatically, so guest conversations land in the inbox already linked to the right booking. Property information appears under `,_jsx(_components.strong,{children:`Agents > Knowledge`}),` after the first sync completes.`]}),`\n`,_jsx(Heading,{level:`3`,id:`tools-available-to-agents`,children:`Tools available to agents`}),`\n`,_jsx(_components.p,{children:`Connecting Opera Cloud registers a set of tools on the connection. An agent can use them once you assign the connection to that agent, and each tool can be switched off on the connection.`}),`\n`,_jsx(_components.p,{children:`Read-only lookups:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Check availability for a date range, room type, and rate plan`}),`\n`,_jsx(_components.li,{children:`Get a reservation`}),`\n`,_jsx(_components.li,{children:`Get a guest profile, and search guests by name, email, phone, or membership number`}),`\n`,_jsx(_components.li,{children:`Read stay history and folios`}),`\n`,_jsx(_components.li,{children:`Read the housekeeping overview`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Actions that write back to OPERA:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Create, update, and cancel a reservation`}),`\n`,_jsx(_components.li,{children:`Update room status`}),`\n`,_jsx(_components.li,{children:`Post a routing instruction`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The write actions change live PMS data. Try them against a test property, or keep the agent in copilot mode so a person approves each one, before letting an agent run them unattended on a production property.`})}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/build-your-agent/tools`,children:`Tools`}),` for how connections and tools reach an agent.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`The import step shows no properties`,id:`the-import-step-shows-no-properties`,children:[_jsx(_components.p,{children:`This is the usual symptom of a credential problem, since Conduit saves what you paste and then immediately tries to read the property.`}),_jsx(_components.p,{children:`Check, in this order:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`Gateway URL`}),` is the API host and has no trailing slash, no leading or trailing spaces, and no `,_jsx(_components.code,{children:`/operacloud/faces/`}),` path.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`Hotel ID`}),` matches the property code exactly, including case.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`Enterprise ID`}),` is present. Client credentials authentication fails without it.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`App Key`}),` belongs to the same chain as the environment.`]}),`\n`,_jsxs(_components.li,{children:[`The property appears in the `,_jsx(_components.strong,{children:`Properties`}),` list in the environment details panel.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Authentication fails but the credentials look right`,id:`authentication-fails-but-the-credentials-look-right`,children:[_jsxs(_components.p,{children:[`Regenerate the Client Secret from `,_jsx(_components.strong,{children:`Environments > View Details > Create Client Credentials`}),` and reconnect. A secret that was partially copied, or was rotated in the portal after Conduit was connected, produces the same failure as a wrong one.`]}),_jsx(_components.p,{children:`Also confirm you are using PROD portal credentials against a PROD environment. UAT credentials will not authenticate against production.`})]}),_jsx(Accordion,{title:`Reservations sync but some data is missing`,id:`reservations-sync-but-some-data-is-missing`,children:_jsxs(_components.p,{children:[`Open the application in the `,_jsx(_components.strong,{children:`Applications`}),` tab and confirm it is subscribed to every available API. If your environment uses module level access control, the client also needs access to the OPERA modules behind the data you are missing, such as reservations, profiles, cashiering for folios, and housekeeping.`]})}),_jsx(Accordion,{title:`A far-future booking has not appeared`,id:`a-far-future-booking-has-not-appeared`,children:_jsx(_components.p,{children:`Conduit syncs a rolling window of roughly 180 days ahead. A reservation past that window arrives once the window slides forward. If you regularly take bookings further out, tell us and we can widen the window for your deployment.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`reference`,children:`Reference`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.oracle.com/en/industries/hospitality/opera-cloud/23.4/ocsuh/c_getting_started_accessing_the_ohip_developer_portal.htm`,children:`Accessing the OHIP Developer Portal`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.oracle.com/en/industries/hospitality/integration-platform/ohipu/t_viewing_environment_details.htm`,children:`Viewing Environment Details`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://docs.oracle.com/en/industries/hospitality/integration-platform/ohipu/t_quick_start_for_hoteliers.htm`,children:`Quick Start for Hoteliers`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Connect Opera Cloud","sidebarTitle":"Opera Cloud","description":"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.","href":"/setup/pms/opera-cloud"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"What you need","slug":"what-you-need","depth":2,"children":[]},{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Part 1: Collect your OHIP credentials","slug":"part-1-collect-your-ohip-credentials","depth":2,"children":[]},{"title":"Part 2: Connect Opera Cloud in Conduit","slug":"part-2-connect-opera-cloud-in-conduit","depth":2,"children":[]},{"title":"What syncs","slug":"what-syncs","depth":2,"children":[{"title":"Tools available to agents","slug":"tools-available-to-agents","depth":3,"children":[]}]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Reference","slug":"reference","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"conduit-58d85182","siteName":"Conduit","title":"Connect Opera Cloud - Conduit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T23:57:47.524Z","originalFileLocation":"setup/pms/opera-cloud.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Conduit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://www.conduit.ai/icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://www.conduit.ai/icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://www.conduit.ai/icon.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://www.conduit.ai/icon.png\">\u003cmeta data-mint-head property=\"og:title\" content=\"Connect Opera Cloud - Conduit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Conduit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.conduit.ai/setup/pms/opera-cloud\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://conduit-58d85182.mintlify.site/_mintlify/api/og/v2?division=PMS\u0026amp;title=Connect+Opera+Cloud\u0026amp;description=Connect+Oracle+OPERA+Cloud+to+Conduit+using+OHIP+credentials+so+property%2C+reservation%2C+and+guest+data+sync+automatically.\u0026amp;theme=2dffd791e8bd8015658aefde\u0026amp;signature=b3945b9baca941de48e7d5b0347ca6aa2f2c2cde147bd0f5fb7b2c6399ca05c6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Connect Opera Cloud - Conduit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://conduit-58d85182.mintlify.site/_mintlify/api/og/v2?division=PMS\u0026amp;title=Connect+Opera+Cloud\u0026amp;description=Connect+Oracle+OPERA+Cloud+to+Conduit+using+OHIP+credentials+so+property%2C+reservation%2C+and+guest+data+sync+automatically.\u0026amp;theme=2dffd791e8bd8015658aefde\u0026amp;signature=b3945b9baca941de48e7d5b0347ca6aa2f2c2cde147bd0f5fb7b2c6399ca05c6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/conduit-58d85182/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Conduit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#C65F39\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.conduit.ai/setup/pms/opera-cloud\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/setup/pms/opera-cloud.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.conduit.ai/#organization\",\"name\":\"Conduit\",\"url\":\"https://docs.conduit.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/conduit-58d85182/W75MZFEdXnjdpqg7/logo/light.svg?fit=max\u0026auto=format\u0026n=W75MZFEdXnjdpqg7\u0026q=85\u0026s=721a28dde7749c71ceae1dfe44e9f304\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.conduit.ai#website\",\"name\":\"Conduit\",\"url\":\"https://docs.conduit.ai\",\"publisher\":{\"@id\":\"https://docs.conduit.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.conduit.ai/setup/pms/opera-cloud#webpage\",\"url\":\"https://docs.conduit.ai/setup/pms/opera-cloud\",\"name\":\"Connect Opera Cloud\",\"description\":\"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.\",\"dateModified\":\"2026-10-15T23:57:47.524Z\",\"isPartOf\":{\"@id\":\"https://docs.conduit.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.conduit.ai/setup/pms/opera-cloud#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.conduit.ai/setup/pms/opera-cloud#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Setup\",\"item\":\"https://docs.conduit.ai/setup/set-up-your-workspace\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PMS\",\"item\":\"https://docs.conduit.ai/setup/pms/connect-pms\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Connect Opera Cloud\",\"item\":\"https://docs.conduit.ai/setup/pms/opera-cloud\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.conduit.ai/setup/pms/opera-cloud#article\",\"headline\":\"Connect Opera Cloud\",\"name\":\"Connect Opera Cloud\",\"description\":\"Connect Oracle OPERA Cloud to Conduit using OHIP credentials so property, reservation, and guest data sync automatically.\",\"url\":\"https://docs.conduit.ai/setup/pms/opera-cloud\",\"mainEntityOfPage\":{\"@id\":\"https://docs.conduit.ai/setup/pms/opera-cloud#webpage\"},\"dateModified\":\"2026-10-15T23:57:47.524Z\",\"publisher\":{\"@id\":\"https://docs.conduit.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.conduit.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Conduit\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Conduit","nav":{"global":null,"tabs":[{"tab":"Guides","groups":[{"group":"Get started","pages":[{"title":"Welcome to Conduit","sidebarTitle":"Introduction","href":""},{"title":"Quickstart","href":"/get-started/quickstart"},{"title":"V3 migration overview","href":"/get-started/v3-migration"},{"title":"How Conduit agents work","href":"/get-started/how-conduit-agents-work"}]},{"group":"Setup","pages":[{"title":"Set up your workspace","sidebarTitle":"Overview","href":"/setup/set-up-your-workspace"},{"group":"PMS","pages":[{"title":"Connect PMS","sidebarTitle":"Overview","href":"/setup/pms/connect-pms"},{"title":"Connect Guesty","sidebarTitle":"Guesty","href":"/setup/pms/guesty"},{"title":"Connect Hostaway","sidebarTitle":"Hostaway","href":"/setup/pms/hostaway"},{"title":"Connect Streamline","sidebarTitle":"Streamline","href":"/setup/pms/streamline"},{"title":"Connect Track","sidebarTitle":"Track","href":"/setup/pms/track"},{"title":"Connect Lodgify","sidebarTitle":"Lodgify","href":"/setup/pms/lodgify"},{"title":"Connect Beds24","sidebarTitle":"Beds24","description":"Connect Beds24 to Conduit with an invite code, then add a booking webhook so messages reach Conduit.","href":"/setup/pms/beds24"},{"title":"Connect Opera Cloud","sidebarTitle":"Opera Cloud","href":"/setup/pms/opera-cloud"},{"title":"Connect RMS","sidebarTitle":"RMS","description":"Connect RMS Cloud to Conduit. RMS requires a paid add-on module before the connection can be made.","href":"/setup/pms/rms"},{"title":"Listings and groups","href":"/setup/pms/listings-and-groups"}]},{"group":"Channels","pages":[{"title":"Channels overview","sidebarTitle":"Overview","href":"/setup/channels/overview"},{"group":"Email","pages":[{"title":"Connect email","href":"/setup/channels/email/connect-email"},{"title":"Connect Gmail with OAuth","href":"/setup/channels/email/connect-gmail-with-oauth"},{"title":"Receiving emails in Conduit","href":"/setup/channels/email/receiving-emails-in-conduit"},{"title":"Sending emails from Conduit","href":"/setup/channels/email/sending-emails-from-conduit"},{"title":"Additional email addresses","sidebarTitle":"Additional email addresses","href":"/setup/channels/email/alternate-email-addresses"}]},{"title":"Connect phone and SMS","href":"/setup/channels/connect-phone-and-sms"},{"title":"Call routing and forwarding","href":"/setup/channels/call-routing-and-forwarding"},{"title":"Plain text messaging","href":"/setup/channels/plain-text-messaging"},{"title":"Connect VoiceAI / AI number","href":"/setup/channels/connect-voiceai-ai-number"},{"title":"Connect iMessage","href":"/setup/channels/connect-imessage"},{"group":"WhatsApp","pages":[{"title":"Connect WhatsApp","href":"/setup/channels/whatsapp/connect-whatsapp"},{"title":"Calls","href":"/setup/channels/whatsapp/calls"},{"title":"WhatsApp templates","href":"/setup/channels/whatsapp/templates"}]},{"title":"Connect Instagram","href":"/setup/channels/connect-instagram"},{"title":"Connect Messenger","href":"/setup/channels/connect-messenger"},{"title":"Connect LINE","href":"/setup/channels/connect-line"},{"title":"Connect widget","href":"/setup/channels/connect-widget"},{"title":"Does your PMS carry your OTA messaging?","href":"/setup/channels/does-your-pms-carry-ota-messaging"},{"title":"Connect Airbnb","href":"/setup/channels/connect-airbnb"},{"title":"Airbnb messaging","href":"/setup/channels/airbnb-messaging"},{"title":"OTA channels","href":"/setup/channels/ota-channels"}]},{"group":"Tools and integrations","pages":[{"title":"Overview","href":"/setup/tools-and-integrations/other-connections"},{"title":"Connect Breezeway","sidebarTitle":"Breezeway","href":"/setup/tools-and-integrations/breezeway"},{"title":"Connect Jobber","sidebarTitle":"Jobber","href":"/setup/tools-and-integrations/jobber"},{"title":"Connect SuiteOp","sidebarTitle":"SuiteOp","href":"/setup/tools-and-integrations/suiteop"},{"title":"Connect Asana","sidebarTitle":"Asana","href":"/setup/tools-and-integrations/asana"},{"title":"Connect HOPR by RoomChecking","sidebarTitle":"HOPR by RoomChecking","href":"/setup/tools-and-integrations/hopr-roomchecking"},{"title":"Connect Slack","href":"/setup/tools-and-integrations/connect-slack"},{"title":"Connect Microsoft Teams","href":"/setup/tools-and-integrations/connect-microsoft-teams"},{"title":"Connect Notion","sidebarTitle":"Notion","href":"/setup/tools-and-integrations/notion"},{"title":"Connect Google Drive","sidebarTitle":"Google Drive","href":"/setup/tools-and-integrations/google-drive"},{"title":"Connect Airtable","sidebarTitle":"Airtable","href":"/setup/tools-and-integrations/airtable"},{"title":"Devices","href":"/setup/tools-and-integrations/devices"}]}]},{"group":"Build your agent","pages":[{"group":"Road to autopilot","pages":[{"title":"Road to autopilot","href":"/build-your-agent/road-to-autopilot/overview"},{"title":"Connect","href":"/build-your-agent/road-to-autopilot/connect"},{"title":"Teach","href":"/build-your-agent/road-to-autopilot/teach"},{"title":"Test","href":"/build-your-agent/road-to-autopilot/test"},{"title":"Deploy","href":"/build-your-agent/road-to-autopilot/deploy"}]},{"group":"Agents","root":{"title":"Agents","href":"/build-your-agent/agents"},"pages":[{"title":"Persona and guardrails","href":"/build-your-agent/agents/persona-and-guardrails"},{"title":"Triggers","href":"/build-your-agent/agents/triggers"},{"title":"Behavior settings","href":"/build-your-agent/agents/behavior"},{"title":"What your agent knows about a reservation","sidebarTitle":"Reservation context","href":"/build-your-agent/agents/reservation-context"}]},{"group":"Knowledge base","pages":[{"title":"Knowledge base","href":"/build-your-agent/knowledge-base/overview"},{"title":"Adding knowledge","href":"/build-your-agent/knowledge-base/adding-knowledge"},{"title":"Connected sources","href":"/build-your-agent/knowledge-base/connected-sources"},{"title":"Auto-sync knowledge sources","href":"/build-your-agent/knowledge-base/auto-sync"},{"title":"PMS knowledge","href":"/build-your-agent/knowledge-base/pms-knowledge"},{"title":"Managing knowledge","href":"/build-your-agent/knowledge-base/managing-knowledge"}]},{"title":"Skills","href":"/build-your-agent/skills"},{"title":"Tools","href":"/build-your-agent/tools"},{"title":"Testing agents","href":"/build-your-agent/testing-agents"},{"title":"Operator","href":"/build-your-agent/operator"},{"title":"Marketplace","href":"/build-your-agent/marketplace"},{"title":"Internal agent use cases","href":"/build-your-agent/internal-agent-use-cases"},{"group":"What goes where","pages":[{"title":"What goes where","href":"/build-your-agent/what-goes-where/overview"},{"title":"Knowledge","href":"/build-your-agent/what-goes-where/knowledge"},{"title":"Skills, formerly Procedures","href":"/build-your-agent/what-goes-where/procedures"},{"title":"Persona","sidebarTitle":"Persona","href":"/build-your-agent/what-goes-where/style"},{"title":"Guardrails","href":"/build-your-agent/what-goes-where/guardrails"}]}]},{"group":"Workflows","pages":[{"title":"Getting started","href":"/workflows/getting-started"},{"title":"Create a workflow","href":"/workflows/create-a-workflow"},{"title":"Types of workflows","href":"/workflows/types-of-workflows"},{"title":"Wait steps","href":"/workflows/wait-steps"},{"title":"Workflow credit usage","href":"/workflows/workflow-usage"},{"title":"AI agent injections","href":"/workflows/ai-agent-injections"}]},{"group":"Inbox","pages":[{"group":"Setup","pages":[{"title":"General inbox settings","sidebarTitle":"Overview","href":"/inbox/setup/general-settings"},{"title":"Configure your inbox type","href":"/inbox/setup/inbox-type"},{"title":"Members","href":"/inbox/setup/members"},{"title":"Labels","href":"/inbox/setup/labels"},{"title":"Saved replies","href":"/inbox/setup/saved-replies"},{"title":"Inbox routing","href":"/inbox/setup/routing"},{"title":"Surface booking requests","href":"/inbox/setup/surface-booking-requests"},{"title":"Custom fields","href":"/inbox/setup/custom-fields"},{"title":"Conversation tags","href":"/inbox/setup/conversation-tags"}]},{"group":"Daily work","pages":[{"title":"Reading the conversations","href":"/inbox/daily-work/conversation-list"},{"title":"To do, Follow up, and Done","href":"/inbox/daily-work/todo-follow-up-done"},{"title":"Replying to a conversation","href":"/inbox/daily-work/replying-to-conversations"},{"title":"Conversation side panel","href":"/inbox/daily-work/conversation-sidebar"},{"title":"Bulk actions","href":"/inbox/daily-work/bulk-actions"},{"title":"Unmerge reservations","href":"/inbox/daily-work/unmerge-reservations"}]},{"group":"Team","pages":[{"title":"Assigning conversations","href":"/inbox/team/assigning-conversations"},{"title":"Notes and mentions","href":"/inbox/team/notes-and-mentions"}]},{"group":"Agent","pages":[{"title":"Proposed replies","href":"/inbox/agent/proposed-replies"},{"title":"Escalations and AI tags","href":"/inbox/agent/escalations"},{"title":"The Escalations tab","href":"/inbox/agent/escalations-tab"}]},{"group":"Calls","pages":[{"title":"The Phone view","href":"/inbox/calls/calls-view"},{"title":"Receiving and handling calls","href":"/inbox/calls/receiving-calls"},{"title":"Call transfers","href":"/inbox/calls/call-transfers"}]}]},{"group":"Portals","pages":[{"title":"Guest portals","sidebarTitle":"Overview","href":"/portals/overview"},{"group":"Setup","pages":[{"title":"Payments","sidebarTitle":"Payments","href":"/portals/payments"},{"title":"Check-in steps","sidebarTitle":"Check-in steps","href":"/portals/check-in-steps"},{"title":"Step settings","sidebarTitle":"Step settings","href":"/portals/step-settings"},{"title":"Portal fields","sidebarTitle":"Portal fields","href":"/portals/portal-fields"},{"title":"Offers","sidebarTitle":"Offers","href":"/portals/offers"},{"title":"Guides","sidebarTitle":"Guides","href":"/portals/guides"},{"title":"Templates and brand kit","sidebarTitle":"Templates and brand kit","href":"/portals/templates-and-brand-kit"},{"title":"Portal defaults","sidebarTitle":"Defaults","href":"/portals/defaults"},{"title":"Reviews","sidebarTitle":"Reviews","href":"/portals/reviews"},{"title":"Custom domains","sidebarTitle":"Custom domains","href":"/portals/custom-domains"},{"title":"Sending portal links","sidebarTitle":"Sending portal links","href":"/portals/sending-portal-links"},{"title":"Test and go live","sidebarTitle":"Test and go live","href":"/portals/test-and-go-live"}]},{"title":"Submissions","sidebarTitle":"Submissions","href":"/portals/submissions"},{"title":"Requests","sidebarTitle":"Requests","href":"/portals/requests"}]},{"group":"Admin","pages":[{"title":"Billing","href":"/admin/billing"},{"title":"How credits work","href":"/admin/credits"},{"title":"iMessage pricing","href":"/admin/imessage-pricing"},{"title":"Notifications","href":"/admin/notifications"},{"title":"Manage spam","href":"/admin/manage-spam"},{"title":"Mobile app","href":"/admin/mobile"},{"title":"PII redaction","href":"/admin/pii-redaction"},{"title":"AI disclosure","href":"/admin/ai-disclosure"},{"title":"Single sign-on (SSO) and directory sync","href":"/admin/sso"}]},{"group":"Insights","pages":[{"title":"AI automation dashboard","href":"/insights/ai-automation-dashboard"},{"title":"Calls dashboard","href":"/insights/calls-dashboard"},{"title":"Metrics","href":"/insights/metrics"},{"title":"Custom dashboards","href":"/insights/custom-dashboards"},{"title":"Queue report","href":"/insights/queue-report"},{"title":"Queue report metrics","href":"/insights/queue-report-metrics"}]},{"group":"Troubleshooting","pages":[{"title":"PMS and listings","href":"/troubleshooting/pms-and-listings"},{"title":"Messages and channels","href":"/troubleshooting/messages-and-channels"},{"title":"Agent replies","href":"/troubleshooting/agent-replies"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]}]},"basePath":"","title":"Connect Opera Cloud - Conduit","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["10e4515597"],"chunks":["BannerMarkdown-BcDCEkh6.js","dist-CwjSCXIK.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-eKJ4rcii.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}