Cairo Admin Guide

Written By Cameron Porter (Collaborator)

Updated at October 8th, 2026

Overview

This article explains how to use Crexendo Marketplace to publish CAIRO (by Crexendo Labs) and enable it for specific domains.

 

Video

See the video below to learn more about CAIRO configuration and setup for domains.

 

Instructions

Step 1. Publish on Crexendo Marketplace

Prerequisites

The workflow for this article assumes the following prerequisites have been met by the NetSapiens partner:

1. CAIRO is a Crexendo Marketplace application. Crexendo Marketplace must have already been deployed. "Crexendo Marketplace - Deployment Instructions"

2. A Super User scope has requested the CAIRO application. This should have triggered communication to the NetSapiens EVP team who verified you've completed all required paperwork, and also to the NetSapiens Deployment team who should have worked with you to ensure deployment requirements were met. "CAIRO - Deployment Instructions"

3. After confirming paperwork is complete and deployment requirements have been met, then the NetSapiens EVP team promotes the NetSapiens CAIRO app to a "Ready to Publish "state. This must happen before you complete the steps in this article.

 

  1. The CAIRO application should be in a "Ready to Publish" state in Crexendo Marketplace. This means contractual obligations and deployment requirements have already been met. Refer to the "Prerequisites" orange box above for more information.

     
  2. Log in to Crexendo Marketplace as a Super User. Note that Marketplace uses SSO and factors in the user's scope they are logged in to their NetSapiens' Portal with (Super User/OfficeManager). Reference the "Crexendo Marketplace - User Guide" for assistance logging in.


     
  3. In Crexendo Marketplace, as a Super User scope, locate the CAIRO application under Enabled Apps. Confirm the application state is "Ready to Publish".

     
  4. Then select the application. Click Publish. Confirm by clicking Publish again.


     
  5. Once published, all Office Managers who have access to your Marketplace will see the CAIRO app as something they can request.

     
This is the view from an Office Manager's perspective when the Super User (administrator) chose to turn on "Manage Workflow". The Office Manager will have to request the app instead of simply enabling it. This is the recommended approach.
 

 

Step 2. Enable for Domains

The UI config CXDO_MKTPLACE_CAIRO is automatically created as part of the process of the CAIRO app being promoted in Crexendo Marketplace. DO NOT edit, remove, or alter this config in any way. It is controlled by Marketplace.

 

Workflow Approval

Approval for CAIRO follows this workflow:

Requested – Office Manager has requested access ("Manage Workflow" is turned on) or the Super User (administrator) has manually added a domain. 

Processing – The request is processing. At this point, the Super User (administrator) should validate commercial and/or technical prerequisites before making it available to the requested domain. 

Ready to Activate – When the Super User (administrator) decides the domain is ready, they will promote the app to this state. The application is now approved and available for the domain's Office Manager to enable the app in Marketplace. 

 

Option #1: Super User Adds Domain

After CAIRO has been published to Marketplace, the Super User may initiate a domain's request for it. This skips requiring the Office Manager to request it first. 

In this case, a Super User (the administrator) would preemptively add the Office Manager's domain and promote it through to a "Ready to Activate" state. Then the only action the Office Manager would need to take is enabling the app when they're ready. 

Instructions follow.

  1. As a Super User, navigate to Marketplace and find the CAIRO app. Then click on the Manage Domains button.

     
  2. Search for and select the appropriate domain. Click the Add button when finished.

     
  3. Click the Submit button when finished editing. A confirmation will appear if the domain was successfully added.

     
  4. Requested domains will appear on the Approvals page from the Super User's perspective. Double-click on the blue "REQUESTED" state to open the Application Workflow Management modal.


     
  5. In the Application Workflow Management modal, the Super User can promote the app when ready.

    The final phase is called "Ready to Activate". The Office Manager will see the app is in a "Ready to Activate" state. They will navigate to the app in Marketplace and then click the Enable button. For the Super User to enable the app for a domain, they would need to masquerade as that domain's Office Manager and then click to enable the app in the same way the Office Manager would've had to do (refer to the second image below). Reference "Crexendo Marketplace - User Guide" for more information.



Option #2: Office Manager Requests Domain Access

Office Manager scopes may individually request access to CAIRO rather than the Super User preemptively promoting the app to a "Ready to Activate" state. This requires "Manage Workflow" to be enabled, which is the preferred configuration as explained in the "Crexendo Marketplace - User Guide". 

In this case, the Office Manager clicks the button to request access to CAIRO. The Super User (administrator) receives the request and promotes the app to a "Ready to Activate" state when they determine the Office Manager's domain has met the requirements to enable the app. The Office Manager will then see the app is in a "Ready to Activate" state. They will navigate to the app in Marketplace and enable it when ready. 

Instructions follow. 

  1. As an Office Manager, navigate to Marketplace and click the Request Access button for CAIRO.


     
  2. The Request Access button will do 3 things:

    (1) send an email notification to the administrator responsible for workflow management requests (the email address that was used when "Manage Workflow" was toggled on),


    (2) place the request in the administrator's (Super User's) Approvals queue,


    (3) and move the app into a "REQUESTED" state from the Office Manager's perspective.


     
  3. When the Super User (your platform's administrator) is ready to approve the request, they will navigate to the Approvals tab in Marketplace. Locate the request for CAIRO.


     
  4. Open the request and click the Promote button. The entire promotion cycle for an app an Office Manager has requested moves between Requested > Processing > Ready to Activate. Acknowledge the request by promoting the app from "Requested" to "Processing".

    When onboarding requirements have been met, promote the app again from "Processing" to "Ready to Activate".


     
  5. After the app has been promoted to "Ready to Activate", the Office Manager will need to click the Enable button when they are ready to enable the app. This is the final step.




    This will remove tagging from the app as shown in the image below and it will be fully enabled. Reference the article, "Crexendo Marketplace - User Guide" for more information about the workflow process.

Step 3. Verify AI Receptionist System User

After a domain is enabled, a system user (named AI Receptionist) and a CAIRO answering rule for that system user are both automatically created in the NetSapiens platform. Check to make sure they were created as expected. 

1. Navigate to the NetSapiens Portal > the domain you enabled > Users.

 

2. Search for and verify that the AI Receptionist system user exists. To view system users, you may need to uncheck the box at the bottom of the Users table that says, "Hide System Users".

 

🛑 Stop Here. The AI Receptionist system user should be configured as follows. If not, adjust it as needed.

  • First Name: AI
  • Last Name: Receptionist
  • User's Scope: Basic User
  • Service Code: system-user
  • Announce in Audio Directory: No
  • List in Directory: No
  • Dial Permission: US and Canada


3. Then select the AI Receptionist system user. Navigate to their Answering Rules tab.

Verify the CAIRO answering rule was automatically created as well.

 



 

No System User and/or Answering Rule?

If you can't see the AI Receptionist system user for the enabled domain and/or can't see the CAIRO answering rule applied to that system user, follow these troubleshooting steps:

  1. First make sure system users aren't hidden on your Users page in the Portal. Uncheck the box for "Hide System Users". 
    • Can you see them now? If not, proceed.
  2. Then log out of everything (Portal & Marketplace), clear cache, and then log back in. 
    • Can you see them now? If not, proceed.
  3. Verify the correct domain was enabled. Navigate to Marketplace > CAIRO > Manage Domains. Is the domain showing in the list of enabled domains? If not, then try adding it again. 
    • Can you see them now? If not, proceed.

If you still cannot see the system user or its answering rule at this point, then please reach out to the NetSapiens EVP team via your support ticket. 

Step 4. Configure AI Receptionist Failover

As a recommended best practice, configure a failover destination for the CAIRO AI Receptionist user. This ensures incoming calls can continue to be handled if the CAIRO platform experiences an unexpected service interruption or a connectivity issue.

Common failover destinations include:

  • Auto Attendants
  • Ring Groups
  • Hunt Groups
  • User Extensions
  • External Phone Numbers

When properly configured, calls will automatically route to the designated backup destination if the AI Receptionist is unavailable.

Instructions

  1. Log in to the NetSapiens Portal and navigate to the customer's domain.

     
  2. Find the CAIRO AI Receptionist system user and navigate to their Answering Rules tab.

     
  3. Edit the active answering rule.

     
  4. Make the following changes and then click the Save button when finished. Failover is now configured.

    Enabled = Make sure this remains unchanged. It should be checked. If it's not checked, calls will not go through to the AI Receptionist.

    Call Forwarding 
    Always = Make sure this remains unchanged. Changing the value will stop calls from going through to the AI Receptionist. The value should be route_to_cairo.

    Check either one or both of the following in order to configure failover:
    When unanswered = Enter a failover destination.
    When offline = Enter a failover destination.



 

 

 

 

Troubleshooting

CAIRO is experiencing a connectivity issue. What will happen to my calls?

We recommend configuring a failover destination for the CAIRO AI Receptionist system user. This ensures incoming calls will continue to be handled if the CAIRO platform experiences an unexpected service interruption or connectivity issue. Refer to the above article for instructions ("Step 4. Configure AI Receptionist Failover").


The PDF I'm uploading into Agent Knowledge isn't populating. 

Scanned PDFs are inherently image-based; in order for text to be extracted, you must convert it before uploading (e.g., through OCR-based parsing). There are free file converters available online. 


The Office Manager can't see the AI Receptionist tile in their Portal even though their domain is enabled.

  1. First make sure the tile exists. Your company's administrator must create it via JS and not by a UI config. Follow the instructions in this article, "CAIRO - Deployment Instructions : Phase 4 CAIRO Portal Button".

Still can't see the tile?

  1. Log out of Marketplace.
  2. Log out of the NetSapiens Portal.
  3. Clear cache.
  4. Try logging back in again. 

 


Calls to the AI Receptionist through a call queue are failing.

Calls routed through a call queue to the CAIRO AI Receptionist may fail due to an insufficient call queue ring timeout. 

Follow these steps to create a long enough ring timeout to give CAIRO time to process the call:

  1. Navigate to the Portal > Users. Create a new system user with a descriptive name, such as "CAIRO Forwarding User". 
  2. Edit the system user's answering rule to "Call Forwarding : Always" to the CAIRO AI Receptionist pilot number. Then set its "Ring Timeout" for 25 seconds.

     
  3. Navigate to the call queue and edit its In Queue Options tab.

    Across from "If unanswered", select the dropdown option for "Forward to destination".

    This results in another field below it ("Forward Destination"). Set the forwarding destination to the system user you just created.