# **Zoho SalesIQ HITL (Human-in-the-Loop) Integration** This integration allows Botpress to **seamlessly escalate conversations** from a chatbot to a live agent in **Zoho SalesIQ**. When a user requests human assistance, the bot initiates a **new conversation** in Zoho SalesIQ and enables real-time communication between the user and a human agent. ### **How It Works** 1. **Conversation Start**: - When a user requests live agent support, the bot calls **Zoho SalesIQ's Open Conversation API** to create a new session. - The **Botpress HITL interface** keeps track of the conversation ID. 2. **Message Handling**: - User messages are forwarded to the **Zoho SalesIQ Send Message API**, allowing the visitor to communicate with the assigned agent. 3. **Operator Events Tracking**: - The integration listens for **Zoho SalesIQ webhook events**, such as: - **Agent Assignment (`operatorAssignedUpdate`)** - **Conversation Resolved (`operatorConversationComplete`)** - **Missed Conversations (`operatorConversationMissed`)** - **Agent Messages (`operatorSendMessage`)** 4. **Closing Conversations**: - Once an agent **resolves the conversation**, Botpress will update the session and notify the chatbot. --- # Zoho SalesIQ Integration Setup Guide ### **[Loom video walk through setting up the OAuth configuration.](https://www.loom.com/share/d3c758e372e54a32b4f29d7da44af1ce?sid=38c81c81-486e-4a48-bfb1-941b02d052d1)** ### ## Step 1: Create a Zoho Developer Account 1. Open the Zoho API Console: [https://api-console.zohocloud.ca/add?client_type=ORG](https://api-console.zohocloud.ca/add?client_type=ORG) 2. Sign in or create a Zoho Developer account if needed. 3. Create a new OAuth client. 4. Set the **Redirect URI** to your **Botpress webhook URL**. ## Step 2: Generate an Authorization Code Ensure you use the **correct region URL** for OAuth authentication. #### **Zoho Accounts Domains:** | Region | Accounts URL | |---------------|----------------------------------| | US | `https://accounts.zoho.com` | | AU | `https://accounts.zoho.com.au` | | EU | `https://accounts.zoho.eu` | | IN | `https://accounts.zoho.in` | | CN | `https://accounts.zoho.com.cn` | | JP | `https://accounts.zoho.jp` | | SA (Saudi Arabia) | `https://accounts.zoho.sa` | | CA (Canada) | `https://accounts.zohocloud.ca` | Construct the following authorization URL, replacing placeholders with your actual values: ```text https://accounts.zohocloud.ca/oauth/v2/org/auth?response_type=code &client_id=YOUR_CLIENT_ID &scope=SalesIQ.Conversations.ALL,SalesIQ.apps.read &redirect_uri=YOUR_REDIRECT_URI &access_type=offline &state=123 ``` - Replace `YOUR_CLIENT_ID` with your **Zoho Client ID**. - Replace `YOUR_REDIRECT_URL` with your **Botpress webhook URL**. - Ensure the scope is set to `SalesIQ.Conversations.ALL`. ### Get Authorization Code 1. Open the modified URL in a browser. 2. Click **Accept** when prompted. 3. Copy the **authorization code** from the redirected URL, which will look something like: ```text https://webhook.botpress.cloud/2fca97ae-3078-4287-87a2-957e7f68157a?state=123&code=1005.4e8ee2431c3713671170956c8f8ed585.8ac5720917a810e6d447df63d2b63aef&location=ca&accounts-server=https%3A%2F%2Faccounts.zohocloud.ca ``` 4. The `code` parameter (`1005.4e8ee2431c...`) is your **authorization code**. ## Step 3: Exchange Authorization Code for Access Token Run the following cURL command, replacing placeholders with your actual credentials: ```sh curl -X POST "ACCOUNTS_URL_REGION/oauth/v2/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "code=YOUR_CODE" \ -d "grant_type=authorization_code" \ -d "client_id=YOUR_CLIENT_ID" \ -d "client_secret=YOUR_CLIENT_SECRET" \ -d "redirect_uri=YOUR_REDIRECT_URI" \ -d "scope=SalesIQ.Conversations.ALL,SalesIQ.apps.read" ``` - Replace `YOUR_CODE` with the **authorization code** from Step 2. - Replace `YOUR_CLIENT_ID`, `YOUR_CLIENT_SECRET`, and `YOUR_REDIRECT_URL` with your actual values. ## Step 4: Store Credentials in Your Integration After making the request, you will receive a response containing an **access token** and a **refresh token**. Store the following credentials in your integration configuration: - **Client ID** - **Client Secret** - **Access Token** - **Refresh Token** ## Step 5: Retrieve Required Zoho IDs To fully integrate with **Zoho SalesIQ**, you need to gather the following details: ### 1. Get Your Screen Name - Visit your **Zoho SalesIQ Home Page**. [https://salesiq.zohocloud.ca/](https://salesiq.zohocloud.ca/) - Your **Screen Name** is displayed on this page in the URL at the top of your browser, for example, envyroinc is the screen name here https://salesiq.zohocloud.ca/envyroinc/mychats. ### 2. Get Your Department ID 1. Go to **Settings > Departments** in **Zoho SalesIQ**. 2. Click on the correct department. 3. The **Department ID** is in the URL: ```text https://salesiq.zohocloud.ca/envyroinc/settings/departments/edit/6338000000002024 ``` - Example **Department ID**: `6338000000002024` ### 3. Get Your App ID 1. Go to **Settings > Brands** in **Zoho SalesIQ**. 2. Click on the correct brand. 3. The **App ID** is in the URL: ```text https://salesiq.zohocloud.ca/envyroinc/settings/brands/6338000000002238 ``` - Example **App ID**: `6338000000002238` ## Step 6: Final Integration Configuration Setup Enter the following details into your integration configuration: ✅ **Screen Name** ✅ **App ID** ✅ **Department ID** # How to Set Up a Webhook in SalesIQ for Botpress Follow these steps to integrate your SalesIQ account with Botpress using webhooks. ## Step 1: Navigate to Webhooks in SalesIQ 1. **Log in** to your SalesIQ account. 2. Click on **Settings** in the sidebar. 3. Scroll down and select **Webhooks**. ## Step 2: Add a New Webhook 4. Click **Add a New Data Modifications Webhook**. 5. Select the **correct brand/organization** for which you want to configure the webhook. ## Step 3: Configure the Webhook 6. In the **URL to be invoked** field, **copy and paste** your Botpress webhook URL. ## Step 4: Select Webhook Events 7. Check the following events to be associated with the webhook: - `conversation.attender.updated` - `conversation.missed` - `conversation.operator.replied` - `conversation.completed` ## Step 5: Save Your Webhook 8. Click the **Create Webhook** button to finalize your webhook setup. **That's it!** Your webhook is now configured to send SalesIQ events to Botpress.
Tạo ra những trải nghiệm tuyệt vời cho tác nhân AI.
Xây dựng các tác nhân AI tốt hơn và nhanh hơn với bộ sưu tập các khóa học, hướng dẫn và bài hướng dẫn được chúng tôi tuyển chọn kỹ lưỡng.
Kết nối với các nhà phát triển được chứng nhận của chúng tôi để tìm một chuyên gia xây dựng phù hợp với nhu cầu của bạn.