# CallGrid Knowledge Base, full text --- --- > 55 articles. Index with one link per article: https://callgrid.com/knowledge-base/llms.txt --- --- ## CallGrid MCP: Connect to ChatGPT > Ask ChatGPT about your CallGrid account in plain English. Connect the CallGrid app once, then pull campaigns, buyers, numbers and more. Source: https://callgrid.com/knowledge-base/callgrid-mcp-connect-to-chatgpt Last updated: 2026-08-28 Topics: Integrations ### Overview The CallGrid MCP server lets ChatGPT read your CallGrid account directly, so you can ask questions like "list my live campaigns" or "summarize last week's performance" and get answers without opening the dashboard. MCP (Model Context Protocol) is the open standard that connects AI assistants to outside tools. CallGrid runs a hosted MCP server, so there is nothing to install. You add it once as a connector and you are done. #### Connection details Name: CallGrid Description: CallGrid MCP Server Server URL: [https://mcp.callgrid.com/mcp](https://mcp.callgrid.com/mcp) Authentication: None required --- ### Setup #### Step 1: Turn on developer mode ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-19T22-01-24.png) #### 1. In ChatGPT, open **Settings**. 2. Go to **Apps and Connectors**, then **Advanced Settings**. 3. Turn on **Developer mode**. > Developer mode is what lets you add a custom MCP connector. You only need to do this once. #### Step 2: Create the CallGrid app ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-19T22-02-01.png) 1. Back in **Apps and Connectors**, click **Create** (create a new app or connector). 2. Fill in the fields: - **Name:** CallGrid - **Description:** CallGrid MCP Server - **MCP Server URL:** [https://mcp.callgrid.com/mcp](https://mcp.callgrid.com/mcp) - **Authentication:** Select OAuth 3. Save to create the app. #### Step 3: Authorize your account When you first use CallGrid in a chat, ChatGPT prompts you to connect and authorize access to your CallGrid organization. Approve it once. If you manage more than one CallGrid organization, tell ChatGPT which one to use (for example, "use my Acme org"). It will use that organization for the rest of the conversation. #### Step 4: Turn it on in the chat This is the step people miss. Before chatting with CallGrid: 1. Click the **+** icon in the message box. 2. Go to **More**. 3. Select **CallGrid**. Now your prompts can reach your CallGrid data. See the examples below. --- ### What you can do with it The MCP gives ChatGPT live read access to your account. Here are prompts that map to what it can pull today. **Account and structure** - "Which CallGrid organization am I connected to?" - "List my active campaigns." - "What traffic sources feed my insurance campaign?" - "Show me my buyers and their current status." - "Who are my publishers and vendors?" - "What routing destinations are set up?" **Numbers and tags** - "How many tracking numbers do I have, and which campaigns use them?" - "What tags are configured on my account?" **Performance and diagnostics** - "Give me a performance summary for last week." - "Why are my bids getting rejected? Show the bid stats." - "How are my pings performing?" - "What changed on my account recently?" (version history) - "List the webhooks on my campaigns so I can check one is firing." You can stack follow ups: ask for a summary, then "break that down by buyer," then "which had the lowest connect rate." No report builder, just questions. --- ### Advanced prompts: reports, scorecards, and optimization plans ChatGPT does not just fetch numbers. It can pull your data and then reason over it, so you can ask for finished work product: HTML reports, charts, scorecards, and full optimization plans with revenue estimates. Paste any of these, swap in your own specifics, and go. **Build an optimization report with charts** > Make an HTML report with graphs on my top performing campaign, plus a list of improvements I could make. Propose specific setting changes, and include charts that estimate what each change could improve if I made it, with the goal of more revenue. **Diagnose bid rejections and quantify the loss** > Pull my bid stats for the last 7 days, group the top rejection reasons, and give me a prioritized fix list with an estimate of the calls and revenue I am losing to each. **Score my buyers and flag the laggards** > Rank my buyers by conversion rate and revenue per call. Flag the underperformers, and draft talking points I can use to renegotiate the bottom three. **Compare traffic sources and tell me where to spend** > Compare my traffic sources by billable rate and revenue per call in a chart, then tell me which vendors to scale and which to cut. **Map the ping to call funnel** > Show me the funnel from pings to bids to accepted calls, point to the biggest drop off, and chart it. **Run a webhook health check** > Check the webhooks on all my campaigns. List any that look misconfigured or are missing a postback for converted events, and tell me exactly what to add. > **A note on estimates:** when the assistant projects revenue lift, those are estimates built from your own data, not guarantees. Treat them as a prioritized starting point, then validate with a small test before you roll a change out. --- ### What it can and cannot do Today the CallGrid MCP is read only. It surfaces and analyzes your data. It does not place calls, create or edit campaigns, move numbers, or change any settings. Asking it to "pause campaign X" will not change anything in your account. That makes it safe to hand to anyone on your team who needs answers but should not be editing the account. Write actions may come later. For now, think of it as instant reporting and a second set of eyes on account health. --- ### Troubleshooting - **CallGrid does not respond to account questions.** Confirm you added it to the chat: **+** icon, then **More**, then **CallGrid**. Without that, the prompt cannot reach your data. - **You cannot find where to add the connector.** It lives under Settings, Apps and Connectors. If you do not see the option to create one, recheck that Developer mode is on in Advanced Settings. - **ChatGPT asks which organization to use.** Expected when your login has access to more than one org. Name the one you want. - **The app looks generic in the menu.** Upload the CallGrid icon during setup (Step 2). --- ## CallGrid MCP: Connect to Claude (Desktop) > Ask Claude about your CallGrid account in plain English. Connect once, then pull campaigns, buyers, numbers, and performance stats . Source: https://callgrid.com/knowledge-base/callgrid-mcp-connect-to-claude-desktop Last updated: 2026-06-23 Topics: Integrations ### Overview The CallGrid MCP server lets Claude read your CallGrid account directly, so you can ask questions like "which campaigns are live right now?" or "why are my bids getting rejected?" and get answers without logging into the dashboard. MCP (Model Context Protocol) is the open standard that connects AI assistants to outside tools. CallGrid runs a hosted MCP server, so there is nothing to install and no code to write. You add one URL and you are done. This guide covers Claude on the desktop app. For the ChatGPT version, see [CallGrid MCP: Connect to ChatGPT](https://claude.ai/cowork/KB-299-CallGrid-MCP-ChatGPT-Integration.md). #### Connection details Name: CallGrid Description: CallGrid MCP Server Server URL: [https://mcp.callgrid.com/mcp](https://mcp.callgrid.com/mcp) OAuth setup: None required --- ### Setup Setup takes about 30 seconds. #### Step 1: Open Connectors In the Claude desktop app, open your settings and go to **Connectors**. ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-19T21-52-58.png) #### Step 2: Add the custom connector ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-19T21-53-45.png) #### 1. Click **Add custom connector**. 2. Fill in the fields: - **Name:** CallGrid - **Description** (optional): CallGrid MCP Server - **Remote MCP server URL:** [https://mcp.callgrid.com/mcp](https://mcp.callgrid.com/mcp) 3. Leave the OAuth fields blank. CallGrid does not need any OAuth client ID or secret. 4. Click **Add**. Claude pulls in the CallGrid icon automatically, so the connector looks correct in your list right away. #### Step 3: Authorize your account The first time you ask CallGrid something, Claude prompts you to connect and authorize access to your CallGrid organization. Approve it once and you stay connected for future chats. If you manage more than one CallGrid organization, tell Claude which one to use (for example, "use my Acme org"). Claude will use that organization for the rest of the conversation. ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-19T21-54-18.png) #### Step 4: Start asking Make sure the CallGrid connector is enabled for your conversation, then ask away. See the examples below. --- ### What you can do with it The MCP gives Claude live read access to your account. Here are prompts that map to what it can pull today. **Account and structure** - "Which CallGrid organization am I connected to?" - "List my active campaigns." - "What traffic sources feed my insurance campaign?" - "Show me my buyers and their current status." - "Who are my publishers and vendors?" - "What routing destinations are set up?" **Numbers and tags** - "How many tracking numbers do I have, and which campaigns use them?" - "What tags are configured on my account?" **Performance and diagnostics** - "Give me a performance summary for last week." - "Why are my bids getting rejected? Show the bid stats." - "How are my pings performing?" - "What changed on my account recently?" (version history) - "List the webhooks on my campaigns so I can check one is firing." Because Claude understands context, you can stack follow ups: ask for a summary, then "now break that down by buyer," then "which of those had the lowest connect rate." No report builder, just questions. --- ### Advanced prompts: reports, scorecards, and optimization plans Claude does not just fetch numbers. It can pull your data and then reason over it, so you can ask for finished work product: HTML reports, charts, scorecards, and full optimization plans with revenue estimates. Paste any of these, swap in your own specifics, and go. **Build an optimization report with charts** > Make an HTML report with graphs on my top performing campaign, plus a list of improvements I could make. Propose specific setting changes, and include charts that estimate what each change could improve if I made it, with the goal of more revenue. **Diagnose bid rejections and quantify the loss** > Pull my bid stats for the last 7 days, group the top rejection reasons, and give me a prioritized fix list with an estimate of the calls and revenue I am losing to each. **Score my buyers and flag the laggards** > Rank my buyers by conversion rate and revenue per call. Flag the underperformers, and draft talking points I can use to renegotiate the bottom three. **Compare traffic sources and tell me where to spend** > Compare my traffic sources by billable rate and revenue per call in a chart, then tell me which vendors to scale and which to cut. **Map the ping to call funnel** > Show me the funnel from pings to bids to accepted calls, point to the biggest drop off, and chart it. **Run a webhook health check** > Check the webhooks on all my campaigns. List any that look misconfigured or are missing a postback for converted events, and tell me exactly what to add. > **A note on estimates:** when the assistant projects revenue lift, those are estimates built from your own data, not guarantees. Treat them as a prioritized starting point, then validate with a small test before you roll a change out. --- ### What it can and cannot do Today the CallGrid MCP is read only. It surfaces and analyzes your data. It does not place calls, create or edit campaigns, move numbers, or change any settings. Asking it to "pause campaign X" will not change anything in your account. That makes it safe to hand to anyone on your team who needs answers but should not be editing the account. Write actions may come later. For now, think of it as instant reporting and a second set of eyes on account health. --- ### Troubleshooting - **The connector was added but Claude says it has no CallGrid tools.** Open the conversation's connector controls and confirm CallGrid is turned on for that chat. - **Claude asks which organization to use.** That is expected when your login has access to more than one org. Name the one you want. - **You get an authorization prompt every time.** Approve the connection once and let it complete. If it keeps prompting, remove the connector and add it again with the exact URL above. - **Numbers look stale.** Ask Claude to pull fresh data ("re-check the latest"), since it answers from the most recent pull in the conversation. --- ## Roku Ads Manager Conversions API Integration > Roku Ads Manager streamlines the ad buying experience from campaign creation to optimization to billing. Source: https://callgrid.com/knowledge-base/roku-ads-manager-conversions-api-integration Last updated: 2026-06-17 Topics: Integrations Roku Ads Manager is a self-service connected TV (CTV) advertising platform that streamlines the ad buying experience from campaign creation to optimization to billing. With CallGrid's Roku Ads Manager integration, you send your call conversion data back to Roku Ads Manager so you can measure the calls your Roku ads drive and optimize your CTV campaigns against real phone-call outcomes. CallGrid sends conversions to Roku through a server-to-server webhook (Roku's Conversions API). Once configured, the webhook fires automatically on the call event you choose, so Roku Ads Manager can attribute phone-call conversions back to your CTV ad campaigns. CallGrid hashes the caller's phone number before sending it, so no caller number is transmitted in the clear, and it sends the event timestamp using a built-in tag, so there is nothing to format yourself. This article is for admin users. ### Prerequisites Before setting up your webhook, you will need: - Admin access in your CallGrid account - Organization or Account Admin access in Roku Ads Manager - Your Roku **Event Group ID** - Your Roku **CAPI API key** (bearer token) #### Where to find your Roku Event Group ID 1. Sign in to Roku Ads Manager at [https://ads.roku.com](https://ads.roku.com) 2. Go to the **Events** page at [https://ads.roku.com/pixels](https://ads.roku.com/pixels) 3. Find the Event Group you want to use, or create a new one 4. Copy the **Event Group ID** and save it somewhere secure for the CallGrid setup below #### Where to generate your Roku CAPI API key 1. On the **Events** page, select **CAPI** 2. Click **Generate an API key** (this requires Organization or Account Admin access in Roku) 3. Copy the API key and save it somewhere secure for the CallGrid setup below > **Note:** Roku API keys do not expire. If you believe a key has been compromised, revoke it and generate a new one from the same CAPI settings page, then update the key in your CallGrid webhook. ### Setup Process #### 1. Create the webhook 1. In CallGrid, navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** [Screenshot: Integrations > Webhooks (Manage Webhooks) list with the + New Webhook button] 3. **Name**: give the webhook a descriptive name (for example, Roku CAPI - Converted) 4. **Event**: choose when the webhook fires. Pick the event that matches the moment you want to count as a Roku conversion:**Note:** The full list of valid events is Call Inbound, Call Initiated, Call Ended, Call Error, Call Answered, Call Billable, Call Paid, Call Converted, Insights Completed, Transcription Completed, Recording Completed, and Bid Received. Choose the one that matches your conversion definition. ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-17T17-59-51.png) - **Call Inbound** to fire on every inbound call - **Call Answered** to fire when the destination answers - **Call Billable** to fire when the call meets your billable criteria 1. Select **Roku Advertising** from the template dropdown (listed under the **Conversion Pixel** category) 2. Enter the two template fields: - **API Key**: paste the Roku CAPI API key you generated - **event_group_id**: paste the Event Group ID you copied from Roku 3. Click **Save Webhook** ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-17T18-02-33.png) That is the full required setup. The Roku template builds the request to Roku's Conversions API for you, maps the call data automatically, and sends the API key as a bearer token, so there is no manual JSON or header configuration to manage. #### 2. Filter by vendor or source (optional) If you only want this webhook to fire for specific vendors or traffic sources, add a tag filter so Roku only receives the conversions you care about: 1. Open the webhook and go to **Tag Routing** 2. Click **Add Filter** 3. Set the tag to **SourceName**, the operator to **Equals**, and select the source or sources that should fire the conversion 4. Save ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-17T18-11-36.png) You can filter on any system tag (for example SourceName, BuyerName, CampaignName, or InboundState) and combine conditions with **Add Or Rule** or **Add And Rule**. #### 3. Add the webhook to your campaign The webhook only runs on campaigns it is attached to. Add it to the campaign you use to track your Roku calls: 1. Navigate to **Campaigns** and open the campaign you use for Roku traffic 2. Click **Add Webhook** 3. Select the Roku webhook you created from the dropdown 4. Click **Save** ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-17T18-24-26.png) Repeat for any other campaigns that should report conversions to Roku. ### Testing Your Integration 1. Open the webhook and fill in test values for the detected variables 2. Click **Run Webhook** to fire a test conversion 3. Confirm the response returns a success status 4. Check your Roku Ads Manager dashboard to confirm the conversion appears After you fire a test conversion, it can take some time for the event to show up in Roku Ads Manager. This is expected. For a true end-to-end check, place a live test call into a campaign that has the webhook attached and confirm the conversion lands in Roku. ### What CallGrid sends to Roku In Template Mode you only enter the API Key and event_group_id. CallGrid builds the rest of the request for you and POSTs it to Roku's Conversions API endpoint (https://events.ads.rokuapi.net/v1/events), with the API key passed in the request header. You do not need a JavaScript node to format the timestamp, and you do not need to configure phone hashing, both are handled automatically. For reference, the conversion event maps as follows: ![](https://callgrid.com/api/media/file/ScreenSnapPro-2026-06-17T18-00-32.png) ### Best Practices - Match the **Event** to your actual conversion definition. Use Call Billable or Call Converted when you only want qualified calls counted, and Call Inbound when you want every call reported. - Use a tag filter on **SourceName** if only some of your traffic should report to Roku, so you do not inflate your CTV conversion counts with unrelated sources. - Confirm the webhook is attached to every campaign that carries Roku traffic. A webhook with no campaign attached never fires. - Keep your Event Group ID and API key current. If you rotate the Roku key, update it in the webhook. - Test with a live call before scaling spend on the campaign. ### Troubleshooting - **No conversions in Roku**: confirm the webhook is attached to the campaign, the correct **Event** is selected, and the campaign is receiving calls that meet that event's criteria. - **Authentication or 401 errors**: verify the API key is pasted correctly with no extra spaces, and that the key has not been revoked in Roku. - **Wrong Event Group**: confirm the Event Group ID matches the group you are viewing in the Roku dashboard. - **Conversions firing too often or too rarely**: revisit your Event choice and any tag filters. Call Inbound fires on every call, while Call Billable and Call Converted fire only on qualifying calls. - **Delay in reporting**: conversions can take time to appear in Roku Ads Manager after firing. Allow time before assuming a delivery failure. ### Getting Help If you have questions or need additional help with your Roku Ads Manager integration, reach out to our support team via live chat in your dashboard or email [support@callgrid.com](mailto:support@callgrid.com). --- ## Advanced Guide: Ringba to CallGrid RTB with Confirmation Step > You should only follow this guide if your buyer has explicitly told you that a confirmation step is required. Source: https://callgrid.com/knowledge-base/advanced-guide-ringba-to-callgrid-rtb-with-confirmation-step Last updated: 2026-03-03 Topics: Integrations **Hey! This is an advanced guide for setting up a Ringba to CallGrid RTB integration.** > **Warning:** **⚠️ IMPORTANT:** You should _only_ follow this guide if your buyer has explicitly told you that a confirmation step is required. If your buyer hasn't asked for a confirmation step, you should not follow this guide. #### Step 1: Follow the Standard Setup First, you need to start by following the original guide linked here: [**https://callgrid.com/knowledge-base/posting-bids-from-ringba-to-callgrid-using-rtb**](https://callgrid.com/knowledge-base/posting-bids-from-ringba-to-callgrid-using-rtb) Set up your RingTree Target exactly as described in that guide. Once the standard mapping is complete, proceed to the steps below to configure the differences. #### Step 2: Understanding the Difference To set up this confirmation, we are changing how CallGrid interacts with Ringba. Instead of acting as a "ping-only" setup, CallGrid will now act as a "ping/post" specifically for this Grid ID. #### Step 3: Enable the Confirmation Step & Parse the Bid ID After you run the initial test request (using the +15551234567 test phone number) from the normal guide, you need to enable the confirmation features: ![](https://callgrid.com/api/media/file/Confirmation%20Ping%202.png) 1. Scroll down to the bottom of the page and toggle **ON** the **Confirmation Request** step. 2. Toggle **ON** the **Bid ID Required** setting. 3. Click the **Bid ID Parsing** drop-down and select id. #### Step 4: Map the Dynamic SIP Address Next, we need to temporarily hardcode an example bid ID to run a test and map the SIP address. ![](https://callgrid.com/api/media/file/Confirmation%20Ping%201.png) 1. In the **URL** field under the Confirmation Request section, enter the test URL containing an example bid ID (e.g., https://bid.callgrid.com/api/bid/confirmation/cmbidlwefnn09342t3nklnelkr). 2. Click the **Run Request** button. 3. Once the response loads, click the **Dynamic Number/SIP Parsing** drop-down and select dynamicSipAddress. #### Step 5: Replace with the Ringba Macro Now that the mapping is complete, we need to swap out the hardcoded test ID with a dynamic macro so Ringba passes the correct ID on every live call. ![](https://callgrid.com/api/media/file/Confirmation%20Ping%203.png) 1. Change the URL by replacing the example bid ID with the Ringba [bid-id] macro. 2. Your final URL should look like this: https://bid.callgrid.com/api/bid/confirmation/[bid-id]_._ Once that's done, you can go ahead and save your RingTree Target. You should be all set! --- ## ClickFlare Integration Guide > The ClickFlare integration enables you to send conversion data from CallGrid to ClickFlare for accurate attribution tracking. Source: https://callgrid.com/knowledge-base/clickflare-integration-guide Last updated: 2025-12-30 Topics: Integrations, Conversion Optimization _The ClickFlare integration enables you to send conversion data from CallGrid to ClickFlare for accurate attribution tracking. When a qualifying call event occurs in CallGrid, a postback is automatically sent to ClickFlare, closing the attribution loop and enabling accurate campaign optimization._ --- ### Prerequisites Before setting up this integration, ensure you have: - An active ClickFlare account - Your ClickFlare tracking domain (e.g., mylandingpage.com) - The click ID parameter name used in your ClickFlare campaigns (typically "clickid") - Understanding of which conversion events you want to track --- ### Configuration Steps #### Step 1: Capture the ClickFlare Click ID Before CallGrid can send conversions back to ClickFlare, you need to capture the ClickFlare click ID when visitors arrive at your landing page. **Landing Page Setup:** Ensure your CallGrid DNI (Dynamic Number Insertion) script is configured to capture the ClickFlare click ID parameter by ensuring the parameter is added as a Tag on your Tags page. > **Note:** **Pro Tip: **Use the “Media Buying” tags template on the Integrations->Tags page to speed run your tag setup and automatically track the most commonly used tracking parameters. **Important:** The parameter name must match what you configure in the ClickFlare template (default is "clickid"). --- #### Step 2: Configure CallGrid Webhook ##### Option A: Using Template Mode (Recommended) ![](https://callgrid.com/api/media/file/Clickflare1.png) 1. Navigate to **Webhooks** in the left navigation 2. Click **+ New Webhook** 3. Enable **Template Mode** (toggle on) 4. Under "Filter by Template Type," select **Conversion Pixel** 5. Select **ClickFlare** from the template dropdown **Configure Template Variables:** 1. Enter a **Name** for your webhook (e.g., "ClickFlare Conversions") 2. Select the **Event** that should trigger the conversion (e.g., "Call Ended" or "Call Paid") 3. Click **Save Webhook** --- ##### Option B: Manual Configuration (Advanced) If you need more control over the webhook configuration: 1. Navigate to **Webhooks** in the left navigation 2. Click **+ New Webhook** 3. Disable **Template Mode** (toggle off) 4. Configure the following: ![](https://callgrid.com/api/media/file/Clickflare2.png) **Replace:** - YOUR_CLICKFLARE_DOMAIN with your ClickFlare tracking domain - YOUR_EVENT_NAME with your custom conversion event name --- ### Testing Your Integration #### Step 1: Use the Webhook Testing Tool ![](https://callgrid.com/api/media/file/Clickflare3.png) After saving your webhook, CallGrid provides a testing interface: 1. Fill in test values for each variable: - **tag:clickid** - Enter a test click ID from ClickFlare - **tag:CallPayout** - Enter a test payout amount (e.g., 25.00) - **tag:CallId** - Enter a unique test ID - **tag:InboundNumber** - Enter a test phone number 2. Click **Run Webhook** to send a test postback 3. Check ClickFlare to verify the conversion was recorded #### Step 2: Live Traffic Validation 1. Generate a test click through your ClickFlare campaign 2. Place a test call to your tracking number 3. Verify the conversion appears in ClickFlare with correct attribution --- ### Event Selection Guide Choose the appropriate CallGrid event based on your conversion criteria: **Call Inbound** Track calls the moment the inbound call is received **Call Paid** Track only calls that met payout criteria **Call Answered** Track when caller connects to a buyer > **Note:** **Pro Tip:** For most performance marketing use cases, "Call Paid" is recommended as it only fires when a call meets your defined conversion criteria. --- ### Adding Filters To send conversions only for specific sources or campaigns: ![](https://callgrid.com/api/media/file/Clickflare5.png) 1. Click **Add Filter** at the bottom of the webhook configuration 2. Select a filter condition (e.g., "Source Name Equals") 3. Choose the specific source from the dropdown 4. Click **Save Webhook** This ensures ClickFlare only receives conversion data for the relevant traffic. --- ### Troubleshooting #### Click ID Not Capturing **Symptom:** Click IDs not appearing in CallGrid call records **Solutions:** 1. Verify your the clickid parameter is a Tag on your Tags page. 2. Ensure the parameter name matches exactly (case-sensitive) 3. Check that ClickFlare is passing the click ID in the landing page URL #### Conversions Not Appearing in ClickFlare **Symptom:** Webhook fires but conversions don't show in ClickFlare **Solutions:** 1. Verify your ClickFlare domain is correct 2. Ensure the click ID value matches a valid click in ClickFlare 3. Check that the conversion event name matches your ClickFlare configuration 4. Review CallGrid webhook logs for error responses #### Duplicate Conversions **Symptom:** Same conversion appearing multiple times in ClickFlare **Solutions:** 1. Ensure the txid parameter is mapped to [[tag:CallId]] 2. ClickFlare uses the transaction ID to deduplicate conversions #### Revenue Not Matching **Symptom:** Payout values differ between platforms **Solutions:** 1. Verify [[tag:CallPayout]] is correctly mapped to the payout parameter 2. Check that revenue is calculated at the time the webhook fires 3. Ensure currency formats match between platforms --- ### Best Practices 1. **Always use transaction IDs** - Include the txid parameter to prevent duplicate conversion tracking 2. **Test before going live** - Use CallGrid's webhook testing tool before routing live traffic 3. **Match domains** - Ensure your CallGrid webhook domain matches your ClickFlare tracking domain 4. **Filter by source** - Add source filters if you're only using ClickFlare for specific traffic sources 5. **Monitor regularly** - Compare conversion counts between CallGrid and ClickFlare weekly to catch discrepancies early --- ## CallGrid Bid API - Advanced RTB Integration Guide > The CallGrid Bid API allows custom platforms and developers to send real-time bid requests to CallGrid campaigns. Source: https://callgrid.com/knowledge-base/bid-api Last updated: 2026-10-08 Topics: Integrations, Support > **Note:** **⚠️ ADVANCED GUIDE**: This article is intended for developers integrating with CallGrid from custom platforms or building their own RTB integrations. If you're using Ringba, Retreaver, or another supported platform, please see the platform-specific articles instead: - [Posting Bids from Ringba to CallGrid using RTB](https://callgrid.com/posts/posting-bids-from-ringba-to-callgrid-using-rtb) - [Posting Bids from Retreaver to CallGrid using RTB](https://callgrid.com/posts/posting-bids-from-retreaver-to-callgrid-using-rtb) --- ### Overview The CallGrid Bid API allows custom platforms and developers to send real-time bid requests to CallGrid campaigns. This guide provides the technical specifications for integrating directly with the CallGrid RTB (Real-Time Bidding) system. **Key Features:** - RESTful JSON API - Real-time bid responses (< 10 ms response times without pings) - Flexible acceptance criteria - Support for geographic targeting - Detailed response codes for handling various scenarios --- ### API Endpoint #### Base URL POST or GET https://bid.callgrid.com/api/bid/{Grid-ID} **Parameters:** - {Grid-ID}: The unique Grid identifier provided by your CallGrid buyer **Example:** [https://bid.callgrid.com/api/bid/cm97s8hmv000ijt06r4djmije](https://bid.callgrid.com/api/bid/cm97s8hmv000ijt06r4djmije) * Note that you must use the correct Grid ID provided by your buyer. --- ### Request Format You can use either GET or POST when sending to the CallGrid Bid API. If sending through GET simply send the required parameters as URL parameters. If sending through POST simply send the required data as post data via json or www/url-encoded. #### HTTP Headers Headers for POST request ```http Content-Type: application/json Accept: application/json ``` #### Required Request Parameters **CallerId** (Required) - The caller's phone number (10-digit format recommended) - Example: "3035551234" **InboundStateCode** (Optional) - Two-letter state code of the incoming call - Example: "CO" #### Request Body Structure Data for post request ```json { "CallerId": "+15551234567", "InboundStateCode": "CO" } ``` Note: you can also send this data as URL parameters if sending via the GET method ie: ``` ?CallerId=15551234567&InboundStateCode=CA ``` Note: If you cannot send the call over SIP you can pass the "pstn" flag to get a dynamic phone number to which you can send the call. Set { "pstn": true } in the post data or &pstn=true in the url parameters if using GET to request a dynamic phone number instead of a dynamic sip address. When sending a call over ptsn the caller ID must match the one specified in the bid, or the call will be rejected. #### Optional Request Parameters You can include additional custom parameters based on your buyer's requirements: ```json { "CallerId": "+15551234567", "InboundStateCode": "CO", "InboundZipCode": "80301", "age": 38, "CallQualityScore": "95", "CampaignType": "insurance", "PublisherId": "pub123" "pstn": false, // set to true if you cannot send via SIP } ``` Note: To push a Tag through with the bid the Tag must exist in the receiving party's CallGrid account. #### Complete Request Example Example with curl using POST: ```bash curl -X POST https://bid.callgrid.com/api/bid/cm97s8hmv000ijt06r4djmije \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "CallerId": "+15551234567", "InboundStateCode": "CO" }' ``` Example with curl using GET: ```bash curl "https://bid.callgrid.com/api/bid/cm97s8hmv000ijt06r4djmije?CallerId=+15551234567&InboundStateCode=CO" ``` --- ### Response Format #### Success Response Structure When a bid is accepted, CallGrid returns a JSON response with the following structure: ```json { "id":"cmbidlwefyn02316t3nkxnelxz", "code":"1000", "message": "Success", "dynamicBid":"1.00", "dynamicDuration":"10", "expirationSeconds":"100", "payOnDuplicates":false, "dynamicSipAddress":"sip:cmbidlwefyn02316t3nkxnelxz@somewhere.sip.callgrid.com" } ``` ```json { "id":"cmbidlwefyn02316t3nkxnelxz", "code":"1000", "message": "Success", "dynamicBid":"1.00", "dynamicDuration":"10", "expirationSeconds":"100", "payOnDuplicates":false, "dynamicPhoneNumber":"+1234567890" } ``` #### Response Fields **id** (string) - The bid id. You will need to capture this if sending a Confirmation request. **code** (integer) - Response status code (see Response Codes below) **message** (string) - Human-readable message describing the response **dynamicBid** (float) - The bid amount offered for the call in USD **dynamicDuration** (string) - Phone number where the call should be routed **expirationSeconds** (string) - The number of seconds until the bid expires. You must send the call within this time limit. **payOnDuplicates** (boolean) - If this call will pay on a duplicate or not. **dynamicSipAddress** (string) - The SIP address where the call should be routed. **dynamicPhoneNumber** (string) - The Phone Number where the call should be routed. *If using pstn=true. **confirmationRequired **(boolean) - If a confirmation step is required. --- ### Response Codes Your CallGrid buyer will respond with one of these codes: - **1000**: Bid success - Bid received and created - **4000 and above**: Bid rejected - see the [API Error Codes](https://callgrid.com/posts/call-bidding-error-codes-explained) article for more details. - **5001**: Bid Rate Limits --- ### Confirmation Step (Usually not Required) **Note:** Most CallGrid pings do **NOT** require a Confirmation Step. However, certain Grid IDs can be configured for your buyer to require a confirmation step. If the response indicates a confirmation step is required (confirmationRequired: true), then you must send a Confirmation request or you will not receive a dynamicSipAddress or dynamicPhoneNumber. You may send additional tags through with the confirmation step. Your buyer might require you to post the CallerId or additional tags on the confirmation step. #### Confirmation Step URL POST or GET https://bid.callgrid.com/api/bid/confirmation/{Bid-ID} **Parameters:** - {Bid-ID}: The unique Bid "id" returned from the "id" of the Bid Request above. **Example:** [https://bid.callgrid.com/api/bid/confirmation/cm42x8hbv109ixtz64jdqmzof](https://bid.callgrid.com/api/bid/confirmation/cm42x8hbv109ixtz64jdqmzof) * Note that you must use the correct Bid "id" field returned from the original bid request. #### Confirmation Step Parameters To send through additional tag data on the confirmation step you can pass the parameters through a GET URL or a POST Body same as described above in the [Request Format](#request-format) section. If you already sent certain parameters through on the initial request, you do not need to include them on the confirmation step. CallerId is not required **but should be specified if it was not sent in the original request.** #### Confirmation Step Response The response codes and data sent on the confirmation reply are the same as the initial request step. See the [Response Format](#response-format) section above to see the response shape. A successful confirmation step will include a dynamicSipAddress or dynamicPhoneNumber and a code: 1000. --- ### Implementation Guide #### Step 1: Obtain Grid ID Before integrating, obtain the Grid ID from your CallGrid buyer: 1. Contact your CallGrid buyer/partner 2. Request their Grid ID for RTB integration 3. Confirm which parameters they expect in bid requests 4. Verify their acceptance criteria (minimum bid amounts, geographic restrictions, etc.) #### Step 2: Test Bid URL in browser or with curl. 1. Construct your bid URL using the Grid ID provided by buyer 2. Test the URL using your browser or CURL using the GET request method. #### Step 3: Implementation. 1. Check for code 1000 and map the dynamicSipAddress, dynamicBid, and dynamicDuration to the correct variables in your application. --- ### Best Practices #### Request Optimization **Send Complete Data:** - Always include CallerId (required) - Include InboundStateCode or InboundZipCode when available - Add custom parameters your buyer expects --- #### Testing Checklist ✓ Verify Grid ID is correct and active ✓ Confirm request includes required CallerId parameter ✓ Test with valid phone numbers (10-digit format) ✓ Verify timeout handling (10 second limit) ✓ Test response code handling (1000, 2000, 3000, 4000, 5000) ✓ Log all bid requests and responses for debugging --- ### Additional Resources **API Reference:** - [CallGrid Bid API Response Codes](https://callgrid.com/posts/call-bidding-error-codes-explained) - [CallGrid API Reference](https://api.callgrid.com/api/documentation) **Platform-Specific Guides:** - [Posting Bids from CallGrid to CallGrid](https://callgrid.com/posts/posting-bids-from-callgrid-to-callgrid-using-rtb) - [Posting Bids from Ringba to CallGrid](https://callgrid.com/posts/posting-bids-from-ringba-to-callgrid-using-rtb) - [Posting Bids from Retreaver to CallGrid](https://callgrid.com/posts/posting-bids-from-retreaver-to-callgrid-using-rtb) - [Receiving Bids in CallGrid](https://callgrid.com/posts/posting-bids-from-callgrid-to-callgrid-using-rtb) **Support:** - Email: [support@callgrid.com](mailto:support@callgrid.com) - Documentation: [callgrid.com/knowledge-base](https://callgrid.com/knowledge-base) --- ### Support For technical assistance with the CallGrid Bid API: 1. Review this documentation and test your integration 2. Contact your CallGrid buyer to verify Grid ID and requirements 3. Reach out to CallGrid support with your integration details and logs **Need Help?** - Technical questions: [support@callgrid.com](mailto:support@callgrid.com) - Integration assistance: Include your Grid ID and sample requests - Bug reports: Provide full request/response logs and error messages. --- ## Call Recording Best Practices > Call recording laws vary by state. Some states require only your consent, while others require everyone's consent (all-party consent). Source: https://callgrid.com/knowledge-base/call-recording-best-practices Last updated: 2025-09-30 Topics: Product ### > **Note:** **⚠️ Important Legal Disclaimer** > > **This article provides general information only and is not legal advice.** You are solely responsible for complying with all call recording laws. We strongly recommend consulting with a qualified attorney before enabling call recording. ### ### Overview Call recording laws vary by state. Some states require **only your consent** (one-party consent), while others require **everyone's consent** (all-party consent). When recording calls, always follow the strictest law that applies. **Best Practice:** Always inform all parties that you're recording, regardless of location. --- ### Which States Require All-Party Consent? These **11 states** require you to get consent from **everyone** on the call: - California - Delaware - Florida - Illinois - Maryland - Massachusetts - Montana - Nevada - New Hampshire - Pennsylvania - Washington **Special Note:** California law applies to ANY call involving a California resident, even if you're located elsewhere. **All other states** (38 states + DC) only require one-party consent. --- ### Interstate Calls: Follow the Strictest Law **Rule:** When calling between states, follow the most restrictive law. **Examples:** - You're in Texas → calling Florida = Get all-party consent (Florida requires it) - You're in New York → calling California = Get all-party consent (California requires it) - Conference call with anyone in an all-party state = Get everyone's consent --- ### How to Get Consent #### Option 1: Automated Message (Recommended) Play this before connecting: "This call is being recorded for quality and training purposes. By continuing, you consent to being recorded." #### Option 2: Agent Disclosure Your agent says at the start: "Hi [Name], before we begin, I want to let you know this call is being recorded for quality and training purposes." **For all-party consent states, add:** "Do you consent to being recorded?" [Wait for "yes" or "okay"] #### Option 3: Written Notice Include in your terms of service or agreements: "Phone calls with [Company] may be recorded for quality assurance and training purposes." --- ### TCPA Rules for Marketing Calls If you're making **marketing or sales calls**, additional rules apply: ✅ **Get written consent** before making automated marketing calls ✅ **Check the Do Not Call Registry** before calling ✅ **Honor opt-out requests within 10 business days** ✅ **Only call between 8 AM - 9 PM** (recipient's time zone) ✅ **Keep your own Do Not Call list** for 5 years --- ### Best Practices #### DO: - Inform all parties at the beginning of every call - Use consistent disclosure language - Document your procedures - Store recordings securely - Delete recordings when no longer needed (60-90 days typical) - Train your team on proper disclosure #### DON'T: - Record without telling anyone - Assume one-party consent for interstate calls - Keep recordings indefinitely - Share recordings without authorization - Record sensitive information (credit cards, SSN) unless necessary --- ### Enabling Call Recording in CallGrid #### Before You Start: 1. ✅ Consult your attorney 2. ✅ Determine where your customers are located 3. ✅ Create your disclosure script 4. ✅ Set up your retention policy #### How to Enable: 1. Go to **Campaigns** → Select your campaign 2. Click **Settings** → **Call Recording** 3. Read the legal notice 4. Check **"Enable Call Recording"** 5. Save --- ### Data Security & Retention **Security:** - All recordings are encrypted - Only authorized users have access - Audit logs track who views recordings **Retention:** - Set automatic deletion (30, 60, 90, 180 days, or 1 year) - Recordings auto-delete after retention period - Can place legal hold if needed **Downloading:** - Download individual recordings or bulk export - Available in MP3 or WAV format - API access available --- ### Common Questions **Q: Can I record without telling anyone?** A: No. Never record without disclosure, even in one-party states. **Q: What if I don't know where the caller is located?** A: Treat it as an all-party consent call and ask for consent. **Q: What happens if I violate call recording laws?** A: Penalties include fines ($2,500-$10,000+ per violation), criminal charges, and civil lawsuits. **Q: Can I use recordings for training?** A: Yes, if you disclosed this purpose when obtaining consent. **Q: How long should I keep recordings?** A: Most businesses: 60-90 days. Regulated industries may need longer (consult your attorney). **Q: What if someone asks me to stop recording?** A: Stop immediately. Either continue without recording or offer alternative contact methods. **Q: Do I need consent for the call AND for recording?** A: For marketing calls: yes. TCPA consent is for the call itself; recording consent is separate. --- ### Sample Disclosure Scripts **Simple Disclosure:** "This call is being recorded for quality and training purposes." **With Opt-Out:** "This call may be recorded. If you prefer not to be recorded, please let me know now." **For All-Party States:** "I need to let you know we record our calls for quality purposes. Do you consent to being recorded?" **Automated IVR:** "Thank you for calling [Company]. This call may be recorded for quality and training. Press 1 to continue." --- ### Need Help? **CallGrid Support:** - Email: [support@callgrid.com](mailto:support@callgrid.com) **For Legal Questions:** CallGrid cannot provide legal advice. Please consult your attorney. --- ### Key Takeaways 1. **Always disclose** you're recording at the start of the call 2. **Know your states** - 11 require all-party consent 3. **Secure your recordings** - encrypt and limit access 4. **Delete promptly** - don't keep recordings longer than needed 5. **Get legal advice** - laws are complex and penalties are serious --- **Remember:** When in doubt, ask for everyone's consent. It's the safest approach and builds trust with your customers. --- ## Posting Bids from CallGrid to CallGrid using RTB > This guide will walk you through setting up your CallGrid campaign to send bid requests to another CallGrid customer. Source: https://callgrid.com/knowledge-base/posting-bids-from-callgrid-to-callgrid-using-rtb Last updated: 2025-12-30 Topics: Product, Real Time Bidding This guide will walk you through setting up your CallGrid campaign to send bid requests to another CallGrid customer. --- ### Setup Instructions #### Step 1: Navigate to Your Campaign 1. Log into your CallGrid account 2. Navigate to the **Campaigns** page 3. Click on any **Live Call Bidding Campaign** 4. Go to the **Sources** tab #### Step 2: Get Your Posting Instructions ![](https://callgrid.com/api/media/file/Postingins.png) 1. Click the **Code Icon** (or **Posting Instructions** button) next to the Source 2. This will open the posting instructions modal #### Step 3: Configure for CallGrid ![](https://callgrid.com/api/media/file/CGtoCG.png) 1. Select **"CallGrid"** from the platform dropdown 2. The system will automatically configure the required parameters: - **CallerId** (required) - **State** (optional) - **Zipcode** (optional) 3. Select any additional custom tags you wish to send to the buyer #### Step 4: Get Your Grid ID 1. Your **Grid-ID** is displayed in the posting instructions - Example format: cm97s8hmv000ijt06r4djmije 2. Click the **copy button** next to the Grid-ID #### Step 5: Share with Your CallGrid Buyer 1. Send the copied Grid-ID to the CallGrid customer you want to send bids to 2. Share this link with them: **Receiving Bids from CallGrid in CallGrid using RTB** 3. They will use your Grid-ID to configure their CallGrid destination to receive your bid requests --- ### How It Works Once configured: 1. When calls arrive at your CallGrid campaign, the system automatically sends bid requests to the buyer's CallGrid account 2. The buyer evaluates the call and responds with a bid 3. If accepted, the call is routed to their destination 4. Both parties can track call performance in their respective CallGrid dashboards --- ### What Gets Sent The following information is automatically sent with each bid request: - **CallerId**: The caller's phone number - **InboundStateCode**: The state of the incoming call (if available) - **Additional Tags**: Any custom tags you selected in the posting instructions --- ### Response Codes Your CallGrid buyer will respond with one of these codes: - **1000**: Bid accepted - Call will be routed to buyer - **4000 and above**: Bid rejected - see the [API Error Codes](https://callgrid.com/posts/call-bidding-error-codes-explained) article for more details. - **5001**: Bid Rate Limits --- ### Next Steps **For Conversion Tracking:** If you want to postback conversions to the buyer's CallGrid account based on a Payable event, see the related article: **Posting Conversions to CallGrid from CallGrid** **For Testing:** After the buyer configures their CallGrid destination with your Grid-ID: 1. Send a test call through your campaign 2. Monitor your CallGrid logs to verify bid requests are being sent 3. Confirm with the buyer that they're receiving the requests 4. Verify calls are routing correctly when bids are accepted --- ### Troubleshooting **Buyer Not Receiving Bid Requests:** - Verify you sent them the correct Grid-ID - Confirm they've configured their CallGrid destination with your Grid-ID - Check that your campaign is live and routing calls **All Bids Being Declined:** - Contact your buyer to understand their acceptance criteria - Verify the call types you're sending match their buying preferences - Check that required parameters (CallerId, State) are being sent correctly --- ## Getting Started with CallGrid > Welcome to CallGrid! This guide will walk you through your first steps to get your account up and running quickly. Source: https://callgrid.com/knowledge-base/getting-started-with-callgrid Last updated: 2025-12-30 Topics: Product Welcome to CallGrid! This guide will walk you through your first steps to get your account up and running quickly. ### Step 1: Accept Your Account Invitation When you receive your CallGrid invitation email: 1. **Click the invitation link** in your email 2. **Choose "Sign in with Google"** (recommended) - This makes future logins faster and more secure - No passwords to remember - Same Google account you use for business 3. **Authorize CallGrid** to access your Google account 4. You'll be automatically logged into your new CallGrid dashboard #### Alternative Login Methods If you prefer not to use Google: - Select "Email Magic Link" option - Enter your email address - Check your inbox for a secure login link - Click the link to access your account --- ### Step 2: Choose Your Theme Your dashboard appearance matters for daily use. Let's personalize it: ![](https://callgrid.com/api/media/file/Themes.png) 1. **Click your profile icon** (top right corner) 2. **Select "Profile"** from the dropdown 3. **Choose a theme preset:** - **Light Mode**: Clean, bright interface for daytime use - **Dark Mode**: Easy on the eyes for extended use - **Custom**: You have full control 4. **Customize colors** to match your brand (optional) 5. **Click "Save"** to apply changes --- ### Step 3: Invite Your Team Get your team set up early to avoid delays later: ![](https://callgrid.com/api/media/file/Invite.png) #### Adding Team Members 1. **Navigate to Profile → Users** 2. **Click "Invite User"** 3. **Enter their email address** 4. **Select appropriate role:** - **Admin**: Full access (billing, settings, users) - **Member**: Read-only reports (great for clients) 5. **Click "Send Invitation"** The team member will receive an invitation email and can use the same Google authentication process you used. --- ### Step 4: Set Up Billing & Auto-Recharge CallGrid operates on a prepaid system. Set up automatic funding to prevent service interruptions: #### Add Your Payment Method ![](https://callgrid.com/api/media/file/Billing.png) 1. **Click your organization icon (Bottom Left) → Organization Settings** 2. **Go to Manage → "Plan & Billing" section** 3. **Click "Add a default payment method"** 4. **Enter your credit card details:** - Card number - Expiration date (MM/YY) - CVC security code - Billing address 5. **Click "Add Card"** #### Configure Auto-Recharge (Critical!) Auto-recharge prevents your campaigns from stopping unexpectedly: 1. **In the Billing section, find "Auto Recharge"** 2. **Toggle it "ON"** 3. **Set your thresholds:** - **Minimum Balance**: $25 (when to trigger recharge) - **Recharge Amount**: $100-500 (how much to add) 4. **Save settings** > **Note:** **Pro Tip:** Set minimum balance at 2-3x your daily spend for safety. --- ### Step 5: Purchase Phone Numbers **Phone numbers are the foundation of call tracking.** Buy these first since you'll need to reference them when creating destinations. #### Option A: Buy Individual Numbers (Simpler) 1. **Navigate to "Numbers"** in the main menu 2. **Click "Buy Numbers"** 3. **Choose number type:** - **Local Numbers**: Specific area codes for geographic targeting - **Toll-Free Numbers**: National reach with professional appearance 4. **Select area code** (for local numbers) 5. **Choose how many numbers**: Start with 1-5 for testing 6. **Click "Purchase Numbers"** #### Option B: Create Number Pool (Recommended for Dynamic Tracking) 1. **Navigate to "Number Pools"** 2. **Click "+ New Pool"** 3. **Pool Configuration:** - **Pool Name**: "Test Pool - Local 813" (use your area code) - **Pool Type**: "Local Numbers" or "Toll-Free Numbers" - **Area Code**: Your target area code (e.g., 813 for Tampa) - **Maximum Numbers**: 25 (good starting size for testing) 4. **AFK Timeout Settings:** - **AFK Timeout**: 3 minutes (how long to hold numbers for visitors) 5. **Click "Create Pool"** 6. **Purchase numbers for the pool:** - The system will prompt you to buy numbers - Start with 10-25 numbers for testing #### Number Selection Guide **Local Numbers Best For:** - Geographic targeting - Building local trust - Cost-effective for regional campaigns **Toll-Free Numbers Best For:** - National campaigns - Professional appearance - No geographic limitations --- ### Step 6: Create Your First Buyer **Buyers are the entities that purchase calls from you.** Set up at least one buyer before creating destinations. #### Create a Buyer ![](https://callgrid.com/api/media/file/CreateBuyer.png) 1. **Navigate to "Buyers"** in the main menu 2. **Click "+ New Buyer"** 3. **Fill in buyer details:** - **Name**: "Test Buyer" or your actual buyer company name - **Email**: Primary contact email for this buyer - **Phone**: Contact phone number for the buyer 4. **Click "Save Buyer"** > **Note:** **Pro Tip:** Even if you're routing calls to yourself initially, create a buyer entity for proper tracking and future scalability. --- ### Step 7: Create Your First Destination **Destinations are where calls actually get routed.** Each destination is linked to a buyer. #### Create a Static Destination ![](https://callgrid.com/api/media/file/Destination.png) 1. **Navigate to "Destinations"** in the main menu 2. **Click "+ New Destination"** 3. **Configure basic information:** - **Name**: "Test Destination - [Buyer Name]" - **Buyer**: Select the buyer you just created - **Timezone**: Select the buyer's timezone - **Sub ID**: Leave blank for now 4. **Business Hours Configuration:** - **Toggle "Always Open" ON** for testing - Or set specific hours for production use 5. **Phone Settings:** - **Phone Type**: Select "Static Number" - **Static Number**: Enter the actual phone number where calls should route - Example: +1-555-123-4567 6. **Revenue Settings:** - **Revenue Type**: "Fixed" - **Amount**: $10.00 (or your actual rate per qualified call) 7. **Conversion Settings:** - **Conversion Type**: "Duration" - **Connect Duration**: 90 seconds (industry standard) - **Maximum Duration**: 1800 seconds (30 minutes safety cap) 8. **Capacity Settings:** - **Daily Calls Cap**: 50 (adjust based on actual capacity) - **Concurrent Calls Cap**: 5 - **Daily Connection Cap**: 25 (qualified calls) 9. **Dial Settings:** - **Dial Attempts**: 3 (how many times to retry) - **Dial Timeout**: 15 seconds (how long to wait per attempt) 10. **Click "Save Destination"** --- ### Step 8: Create Your First Vendor **Vendors represent your traffic sources.** This could be you (for internal media buying) or external publishers. #### Create a Vendor ![](https://callgrid.com/api/media/file/Vendor.png) 1. **Navigate to "Vendors"** in the main menu 2. **Click "+ New Vendor"** 3. **Fill in vendor details:** - **Name**: "Internal Media" or your actual vendor name - **Email**: Your email or vendor contact email - **Phone**: Contact number (optional) 4. **Click "Save Vendor"** --- ### Step 9: Create Your Traffic Source **Sources represent where your calls come from** (Google Ads, Facebook, website traffic, etc.). #### Create a Source ![](https://callgrid.com/api/media/file/Source.png) 1. **Navigate to "Sources"** in the main menu 2. **Click "+ New Source"** 3. **Source Configuration:** - **Name**: example "Website Traffic" or "Google Ads - Insurance" - **Vendor**: Select the vendor you created - **Sub ID**: Optional identifier for this traffic source 4. **Click "Save Source"** --- ### Step 10: Create Your First Campaign Now that you have all the entities set up, create your campaign. #### Choose Your Campaign Type **For your first campaign, choose "Non-Real-Time Call Bidding"** - it's simpler and perfect for learning the platform. #### Create the Campaign ![](https://callgrid.com/api/media/file/CreateCampaign.png) 1. **Navigate to "Campaigns"** 2. **Click "+ New Campaign"** 3. **Campaign Setup:** - **Campaign Name**: "Test Campaign - [Your Business]" - **Real-Time Call Bidding**: Select "No" - **Call Recording**: Toggle "ON" (highly recommended) - **SHAKEN/STIR**: Toggle "ON" for spam filtering 4. **Revenue Settings:** - **Revenue Type**: "Fixed" - **Amount**: $10.00 (should match your destination rate) 5. **Payout Settings:** - **Payout Type**: "Fixed" - **Amount**: $8.00 (what you pay per qualified call) 6. **Conversion Settings:** - **Conversion Type**: "Duration" - **Connect Duration**: 90 seconds - **Maximum Duration**: 1800 seconds (30 minutes) 7. **Click "Save Campaign"** --- Step 11: Connect Sources and Destinations to Campaign #### Add Your Source 1. **In your campaign, click the "Sources" tab** 2. **Click "Add Source"** 3. **Select your source** from the dropdown 4. **Phone Number Assignment:** - **Choose individual number** OR - **Choose number pool** (if you created one) 5. **Number Pool Settings** (if using a pool): - **Select the pool** you created - Verify AFK timeout settings 6. **Click "Add Source"** #### Add Your Destination 1. **Click the "Destinations" tab** 2. **Click "Add Destination"** 3. **Select your destination** and click "Add" 4. **Set routing method:** - For one destination: "Weights" set to 100% - Multiple destinations: Distribute weights as needed --- ### Step 12: Install Tracking Code Get your tracking script to enable call attribution on your website. ### Get Your Tracking Script 1. In your campaign, go to the **Sources** tab 2. Find your source in the list 3. Click the **SDK Instructions** button (the <> code icon) next to your source 4. The SDK Integration Instructions modal will appear 5. Select **Normal** for standard implementation (or **Event Based** for advanced use cases) 6. Copy the JavaScript code provided ![](https://callgrid.com/api/media/file/Screenshot%202025-12-30%20at%201.04.58%E2%80%AFPM.png) ### Script Tag Implementation This is the normal way to initialize the CallGrid SDK. It will load the SDK and initialize it when the page loads. ```html ``` **Note:** Each source has a unique campaignSourceId. The organizationId stays the same across your account. ### Install the Script Add the script to your landing page, ideally before the closing tag: ```html +1-813-333-1161 ``` ### How It Works - **With Number Pool:** Visitors see unique tracking numbers from your pool, enabling visitor-level attribution - **Without Number Pool:** Your static number is tracked for campaign-level attribution - **Fallback Protection:** If your pool runs out, the SDK automatically uses your static number while still tracking calls The CallGrid SDK automatically detects phone numbers on your page—no CSS selectors needed. It recognizes common formats like (813) 333-1161, For full documentation and advanced configuration options, visit the [CallGrid.js Documentation](https://github.com/callgrid/callgrid-js). --- **Important:** This tracking code is for **Non-Real-Time Call Bidding campaigns** (static campaigns). Real-Time Call Bidding campaigns use posting instructions instead, which you'll find in the Advanced Setup section. --- ### Step 13: Test Your Setup #### Test Call Flow 1. **Visit your website** with the tracking code installed 2. **Verify phone number display:** - With pool: Number should change to tracking number - Without pool: Static number should be tracked 3. **Call the displayed number** 4. **Verify call routing:** - Call should route to your destination number - You should be able to answer the test call 5. **Check CallGrid dashboard:** - Call should appear in real-time - Verify attribution data is captured #### Validate Campaign Performance 1. **Go to your campaign dashboard** 2. **Check call metrics:** - Call volume - Connection rate - Conversion rate (if call meets duration criteria) 3. **Review call details:** - Click individual calls to see routing information - Verify source attribution is working - Check revenue/cost calculations **🎉 Congratulations! Your first campaign is live and working!** --- ### Advanced Setup: Real-Time Call Bidding (Optional) For users who want dynamic pricing and buyer competition: #### Key Differences for RTB 1. **Multiple Buyers Required**: Create 2+ buyers for competition 2. **Variable Destinations**: Use "Variable Number" phone type 3. **Webhook Integration**: Buyers provide bidding endpoints 4. **Dynamic Pricing**: Revenue varies based on bidding #### RTB Destination Setup 1. **Phone Type**: Select "Variable Number" (required for RTB) 2. **Revenue Type**: "Variable" with min/max bid ranges 3. **Webhook Configuration**: - **Webhook URL**: Buyer's bidding endpoint - **Response Format**: JSON or XML - **Test webhook** before saving 4. **Create campaign** with "Real-Time Call Bidding" = "Yes" --- ### Step 14: Monitor Your Performance #### Real-Time Dashboard Monitoring After your first few calls, check: 1. **Campaign Dashboard**: View call volume and performance metrics 2. **Call Details**: Click individual calls for routing information 3. **Revenue Tracking**: Monitor earnings vs. costs 4. **Attribution Data**: Verify traffic source tracking accuracy #### Key Success Metrics - **Answer Rate**: >80% (calls that connect successfully) - **Conversion Rate**: >60% (calls meeting duration criteria) - **Revenue Per Call**: Average earning per call - **Profit Margin**: Revenue minus costs --- ### What Happens Next? #### Your Onboarding Call After completing this setup, your CallGrid team will: 1. **Review your test campaign performance** 2. **Optimize settings** based on initial results 3. **Set up advanced integrations** (CRM, tracking pixels, etc.) 4. **Configure additional campaigns** for scaling 5. **Discuss growth strategies** and advanced features #### Before Your Onboarding Call Please prepare: - **Results from your test calls** (volume, performance metrics) - **List of additional buyers/destinations** for expansion - **Current platform export** (if migrating from another system) - **Integration requirements** (webhooks, CRM connections, etc.) - **Specific routing rules** or business logic needs --- ### Complete Setup Checklist #### Initial Account Setup - [ ] Accepted invitation and signed in with Google - [ ] Selected and customized theme - [ ] Added team members with appropriate roles - [ ] Added credit card payment method - [ ] Configured auto-recharge settings - [ ] Updated organization details and timezone #### Entity Creation (Proper Order) - [ ] Purchased phone numbers (individual or pool) - [ ] Created number pool (if using dynamic tracking) - [ ] Created first buyer entity - [ ] Created first destination with static routing - [ ] Created first vendor entity - [ ] Created first traffic source #### Campaign Setup - [ ] Created Non-Real-Time Call Bidding campaign - [ ] Added source to campaign with number assignment - [ ] Added destination to campaign with routing weights - [ ] Installed tracking code on website - [ ] Tested call flow end-to-end - [ ] Verified calls appear in dashboard with proper attribution #### Ready for Optimization - [ ] Completed at least 3-5 test calls - [ ] Reviewed campaign performance metrics - [ ] Identified any issues or optimization opportunities - [ ] Prepared questions for onboarding call --- ### Quick Start Tips 1. **Follow the exact order** - Numbers → Buyers → Destinations → Vendors → Sources → Campaigns 2. **Start with static destinations** - Easier to understand and test 3. **Buy fewer numbers initially** - 10-25 numbers is perfect for testing 4. **Use your real business phone** - Route test calls to a number you can answer 5. **Enable call recording** - Essential for quality control and optimization 6. **Test thoroughly before scaling** - Verify end-to-end call flow works perfectly 7. **Set realistic capacity limits** - Better to be conservative initially 8. **Monitor your first day closely** - Check performance every few hours **Ready to grow your business with CallGrid?** Complete this setup sequence and you'll have a fully functional campaign that can accept, route, and track calls with complete attribution. Your onboarding call will help you optimize and scale from this solid foundation! --- _Questions during setup? Contact _[_support@callgrid.com_](mailto:support@callgrid.com)_ or use the live chat in your dashboard. Our team is standing by to help ensure your success._ --- ## Setting Up Trestle Data Collection Webhook > The Trestle integration identifies caller information in real-time, providing comprehensive phone metadata. Source: https://callgrid.com/knowledge-base/setting-up-trestle-data-collection-webhook Last updated: 2025-10-09 Topics: Integrations, Data Collection The Trestle integration identifies caller information in real-time, providing comprehensive phone metadata including carrier, line type, prepaid status, alongside name, demographics, email addresses, and current address to enhance lead qualification and intelligent call routing decisions. ### Prerequisites Before setting up your webhook, you'll need: - An active Trestle account with API access - API key from your Trestle Developer Portal - Sufficient API credits loaded for caller identification queries ### Setup Process #### 1. Get Your API Key 1. Sign up for a Trestle Developer Portal account 2. Navigate to your account settings or API section 3. Generate or copy your API key 4. Ensure your account has sufficient credits for caller ID lookups #### 2. Create New Webhook 1. Navigate to **Integrations → Webhooks** 2. Click **+ New Webhook** 3. Select **Data Collection** template type 4. Choose **Trestle** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/TrestleTemplate-1.png) 1. **API Key**: Enter your Trestle API key 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Inbound** OR **Bid Received** _(Critical for real-time routing)_ 4. Click **Save Webhook** > **Note:** **⚠️ Important**: Use **Call Inbound** or **Bid Received** events to enable real-time caller enrichment BEFORE routing decisions. This allows tag extraction to influence call routing logic and maximize bid values. #### 4. Advanced Options After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/TrestleConfig.png) **Dynamic Variables** The system automatically maps call data to Trestle caller identification parameters: - InboundNumber maps to the phone number parameter for caller lookup **Request Structure** The webhook sends a GET request with parameters containing: - Phone number for comprehensive caller identification - API key header (x-api-key) for secure authentication - JSON response format for structured data **Filtering** ![](https://callgrid.com/api/media/file/TrestleFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when caller identification occurs - Combine conditions with **Add Or Rule** or **Add And Rule** **Value Extraction** After running a webhook test to discover response properties: ![](https://callgrid.com/api/media/file/TrestleValue.png) 1. Select response properties like name, address, demographics, carrier, line_type, email_addresses, etc. 2. Map them to custom tags for advanced routing and lead enrichment 3. Use extracted data to automatically identify caller demographics and contact information 4. Route calls based on caller location, line type, and demographic profiles ### Real-Time Intelligence Workflow The optimal workflow leverages real-time data enrichment: 1. **Trigger**: Call Inbound/Bid Received → Trestle Reverse Phone Lookup 2. **Response**: Trestle returns enriched caller data 3. **Tag Extraction**: CallGrid extracts relevant tags from Trestle response 4. **Smart Routing**: Use extracted tags in routing logic to optimize buyer matching 5. **Higher Bids**: Better-matched calls result in higher bid values ### Testing ![](https://callgrid.com/api/media/file/TrestleTest.png) - Fill in test values for InboundNumber (use a real phone number like 5551234567) - Click **Run Webhook** to verify the integration - Review the response data to see caller identification results and available properties - Verify that extracted caller information is being captured correctly ### Best Practices - Monitor your API usage and credits for cost control - Set up value extraction to capture name, address, and demographic information - Use line type and carrier data for call routing decisions - Test with various number types to ensure comprehensive caller identification - Configure filtering to avoid unnecessary API calls for known internal numbers - Implement data privacy compliance measures for collected caller information ### Troubleshooting - Verify your API key is active and correctly formatted in the x-api-key header - Ensure your Trestle account has sufficient API credits - Check that phone numbers are in the correct format for lookup - Monitor API response times and adjust timeout settings if needed - Review Trestle documentation for specific error codes and response formats - Validate that value extraction mappings match actual response field names The integration enables **real-time caller identification and data enrichment**, helping you automatically capture caller names, demographics, addresses, and phone metadata to improve lead qualification and enable intelligent routing decisions that maximize revenue through precision buyer matching. By enriching call data **before** routing decisions, you transform raw phone numbers into actionable intelligence that drives higher bid values and improved call conversion rates. --- ## Setting Up Searchbug Phone Number Validation Webhook > The Searchbug integration validates phone numbers in real-time, identifying line types, carriers, connection status, and DNC/TCPA compliance info. Source: https://callgrid.com/knowledge-base/setting-up-searchbug-phone-number-validation-webhook Last updated: 2025-09-24 Topics: Integrations, Data Collection The Searchbug integration validates phone numbers in real-time, identifying line types, carriers, connection status, and DNC/TCPA compliance information to help improve data quality and marketing compliance. ### Prerequisites Before setting up your webhook, you'll need: - An active Searchbug account - Bearer authentication token from your Searchbug account - Prepaid balance loaded for API queries ### Setup Process #### 1. Get Your Authentication Token 1. Log into your Searchbug account 2. Navigate to your account settings 3. Find the API section and copy your Bearer authentication token 4. Ensure your account has sufficient prepaid balance for phone validation queries #### 2. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Data Collection** template type 4. Choose **Searchbug** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/searchtemplate.png) 1. **Bearer Authentication Token**: Enter your Searchbug Bearer token 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Completed** 4. Click **Save Webhook** #### 4. Advanced Options After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/searchConfig.png) **Dynamic Variables** The system automatically maps call data to Searchbug validation parameters: - InboundNumber maps to the phone number parameter for validation **Request Structure** The webhook sends a POST request with form data containing: - Phone number for line type and carrier identification - API location and format parameters for JSON response - Bearer authentication for secure API access **Filtering** ![](https://callgrid.com/api/media/file/searchFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when validation occurs - Combine conditions with **Add Or Rule** or **Add And Rule** **Value Extraction** After running a webhook test to discover response properties: ![](https://callgrid.com/api/media/file/SearchValue.png) 1. Select response properties like line_type, carrier, active_status, dnc_status, etc. 2. Map them to custom tags for advanced routing and compliance filtering 3. Use extracted data to automatically identify cell phones vs landlines 4. Route calls based on carrier information and DNC compliance status **Testing** ![](https://callgrid.com/api/media/file/searchTest.png) - Fill in test values for InboundNumber (use a real phone number) - Click **Run Webhook** to verify the integration - Review the response data to see validation results and available properties ### Best Practices - Monitor your prepaid balance and usage for cost control - Set up value extraction to capture line type and carrier information - Use DNC and TCPA compliance data for regulatory adherence - Test with various number types to ensure proper line type identification - Configure filtering to avoid unnecessary API calls for known internal numbers ### Troubleshooting - Verify your Bearer token is active and correctly formatted - Ensure your Searchbug account has sufficient prepaid balance - Check that phone numbers are in the correct format for validation - Monitor API response times and adjust timeout settings if needed - Review Searchbug documentation for specific error codes and responses The integration enables real-time phone number validation and compliance checking, helping you automatically identify line types, carriers, and regulatory status to improve marketing effectiveness and maintain TCPA compliance. --- ## Setting Up IPQualityScore Proxy Detection Webhook > The IPQualityScore Proxy integration analyzes visitor IP addresses in real-time to detect proxies, VPNs, Tor, and other high-risk IP addresses. Source: https://callgrid.com/knowledge-base/setting-up-ipqualityscore-proxy-detection-webhook Last updated: 2025-09-24 Topics: Integrations, Data Collection The IPQualityScore Proxy integration analyzes visitor IP addresses in real-time to detect proxies, VPNs, Tor connections, and other high-risk IP addresses, providing fraud scoring and reputation data to improve call quality and security. ### Prerequisites Before setting up your webhook, you'll need: - An active IPQualityScore account - API key from your IPQualityScore dashboard - Premium account access for advanced proxy detection features ### Setup Process #### 1. Get Your API Key 1. Log into your IPQualityScore account 2. Navigate to your account settings or dashboard 3. Find the API section and copy your API key 4. Ensure your account has IP reputation query credits available #### 2. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Data Collection** template type 4. Choose **IPQualityScore Proxy** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/ipqTemplate.png) 1. **API Key**: Enter your IPQualityScore API key 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Completed** 4. Click **Save Webhook** #### 4. Advanced Options After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/ipqconfig.png) **Dynamic Variables** The system automatically maps call data to IPQualityScore IP analysis: - VisitorIpAddress maps to the IP parameter for reputation analysis **Request Structure** The webhook sends a GET request to IPQualityScore's API with: - IP address for proxy detection and reputation scoring - Your API key for authentication - Request for comprehensive fraud and risk analysis **Filtering** ![](https://callgrid.com/api/media/file/ipqfilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when IP analysis occurs - Combine conditions with **Add Or Rule** or **Add And Rule** **Value Extraction** After running a webhook test to discover response properties: ![](https://callgrid.com/api/media/file/ipqValue.png) 1. Select response properties like fraud_score, proxy, vpn, tor, abuse_velocity, etc. 2. Map them to custom tags for advanced routing and risk assessment 3. Use extracted data to automatically filter high-risk IP addresses 4. Route calls based on IP reputation scores and connection types **Testing** ![](https://callgrid.com/api/media/file/ipqtest.png) - Fill in test values for VisitorIpAddress (use a real IP address) - Click **Run Webhook** to verify the integration - Review the response data to see reputation results and available properties ### Best Practices - Monitor your API usage and credit consumption - Set up value extraction to capture key reputation metrics - Use fraud scores and proxy detection for call routing decisions - Test with various IP types to ensure proper detection - Configure filtering to avoid unnecessary API calls for trusted IP ranges ### Troubleshooting - Verify your API key is active and has sufficient credits - Ensure IP addresses are in the correct format for analysis - Check that your IPQualityScore account has proxy detection enabled - Monitor API response times and adjust timeout settings if needed - Review IPQualityScore documentation for specific error codes The integration enables real-time IP reputation analysis and proxy detection, helping you automatically identify and route calls based on visitor IP risk scores, connection types, and abuse history to prevent fraudulent activity and improve call quality. --- ## Setting Up GoHighLevel Data Collection Webhook > The GoHighLevel integration creates contacts in your GoHighLevel CRM system by sending call data directly to their contacts API. Source: https://callgrid.com/knowledge-base/setting-up-gohighlevel-data-collection-webhook Last updated: 2025-09-24 Topics: Integrations, Data Collection The GoHighLevel integration creates contacts in your GoHighLevel CRM system by sending call data directly to their contacts API, enabling automatic lead capture and customer relationship management. ### Prerequisites Before setting up your webhook, you'll need: - An active GoHighLevel account - API access enabled in your GoHighLevel account - Bearer authentication token from GoHighLevel ### Setup Process #### 1. Get Your API Token 1. Log into your GoHighLevel account 2. Navigate to Settings > Company Settings 3. Find the API section and generate your Bearer authentication token 4. Copy the token for webhook configuration #### 2. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Data Collection** template type 4. Choose **GoHighLevel** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/GoTemplate.png) 1. **Bearer Authentication Token**: Enter your GoHighLevel API token 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Completed** 4. Click **Save Webhook** #### 4. Advanced Options After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/GoConfig.png) **Dynamic Variables** The system automatically maps call data to GoHighLevel contact fields: - FirstName and LastName map to contact name fields - InboundNumber maps to the phone field - DOB maps to dateOfBirth for contact records - InboundCity, InboundStateCode, InboundZipCode map to location fields **Request Structure** The webhook sends a POST request with JSON data containing: - Contact identification information (name, phone) - Geographic data (city, state, zip code) - Demographic information (date of birth) - Custom fields as configured in your GoHighLevel account **Filtering** ![](https://callgrid.com/api/media/file/GoFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when contacts are created - Combine conditions with **Add Or Rule** or **Add And Rule** **Value Extraction** After running a webhook test to discover response properties: ![](https://callgrid.com/api/media/file/GoValue.png) 1. Select response properties you want to extract 2. Map them to custom tags for advanced routing and data enrichment 3. Use extracted data for follow-up workflows and lead qualification **Testing** ![](https://callgrid.com/api/media/file/GoTest.png) - Fill in test values for all detected variables (FirstName, LastName, phone, etc.) - Click **Run Webhook** to verify the integration - Check your GoHighLevel contacts list to confirm new contacts appear ### Best Practices - Ensure your GoHighLevel account has sufficient contact capacity - Map all relevant call data to appropriate GoHighLevel fields - Use filtering to avoid creating duplicate contacts - Test thoroughly with sample data before going live - Monitor GoHighLevel for successful contact creation ### Troubleshooting - Verify your Bearer token is valid and has proper API permissions - Check that required fields (name, phone) are being sent - Ensure test data matches GoHighLevel's expected field formats - Monitor GoHighLevel API logs for any error responses - Contact GoHighLevel support for account-specific API issues The integration enables automatic lead capture from call data, streamlining your sales process by immediately adding qualified prospects to your GoHighLevel CRM for follow-up and nurturing campaigns. --- ## Setting Up IPQualityScore Phone Number Validation Webhook > The IPQualityScore integration validates phone numbers in real-time, providing fraud detection, carrier information, and reputation scoring. Source: https://callgrid.com/knowledge-base/setting-up-ipqualityscore-phone-number-validation-webhook Last updated: 2025-09-24 Topics: Integrations, Data Collection The IPQualityScore integration validates phone numbers in real-time, providing fraud detection, carrier information, and reputation scoring to help identify high-risk numbers and improve lead quality. ### Prerequisites Before setting up your webhook, you'll need: - An active IPQualityScore account - API key from your IPQualityScore dashboard - Premium account access for advanced validation features ### Setup Process #### 1. Get Your API Key 1. Log into your IPQualityScore account 2. Navigate to your account settings or dashboard 3. Find the API section and copy your API key 4. Ensure your account has phone validation credits available #### 2. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Data Collection** template type 4. Choose **IPQualityScore Phone Number** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/IPTemplate.png) 1. **API Key**: Enter your IPQualityScore API key 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Completed** 4. Click **Save Webhook** #### 4. Advanced Options After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/IPconfig.png) **Dynamic Variables** The system automatically maps call data to IPQualityScore validation: - InboundNumber maps to the phone number parameter for validation **Request Structure** The webhook sends a GET request to IPQualityScore's API with: - Phone number for validation and analysis - Your API key for authentication - Request for comprehensive fraud and reputation scoring **Filtering** ![](https://callgrid.com/api/media/file/IPFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when validation occurs - Combine conditions with **Add Or Rule** or **Add And Rule** **Value Extraction** After running a webhook test to discover response properties: ![](https://callgrid.com/api/media/file/IPvalue.png) 1. Select response properties like fraud_score, valid, carrier, line_type, etc. 2. Map them to custom tags for advanced routing and lead qualification 3. Use extracted data to automatically filter high-risk or invalid numbers 4. Route calls based on phone validation results and reputation scores **Testing** ![](https://callgrid.com/api/media/file/ipTest.png) - Fill in test values for InboundNumber (use a real phone number format) - Click **Run Webhook** to verify the integration - Review the response data to see validation results and available properties ### Best Practices - Monitor your API usage and credit consumption - Set up value extraction to capture key validation metrics - Use fraud scores and reputation data for call routing decisions - Test with various number formats to ensure proper validation - Configure filtering to avoid unnecessary API calls for internal numbers ### Troubleshooting - Verify your API key is active and has sufficient credits - Ensure phone numbers are in the correct format for validation - Check that your IPQualityScore account has phone validation enabled - Monitor API response times and adjust timeout settings if needed - Review IPQualityScore documentation for specific error codes The integration enables real-time phone number validation and fraud detection, helping you automatically identify and route calls based on phone number quality, carrier information, and risk scoring to improve lead quality and prevent fraudulent activity. --- ## Setting Up RedTrack Conversion Webhook > The RedTrack integration sends conversion events to your RedTrack affiliate tracking platform using server-to-server postback tracking. Source: https://callgrid.com/knowledge-base/setting-up-redtrack-conversion-webhook Last updated: 2025-09-24 Topics: Integrations, Conversion Pixel The RedTrack integration sends conversion events to your RedTrack affiliate tracking platform using server-to-server postback tracking, enabling accurate campaign attribution and conversion tracking for affiliate marketing campaigns. ### Prerequisites Before setting up your webhook, you'll need: - An active RedTrack account - Your RedTrack subdomain (e.g., 5ux0q) - A configured campaign in RedTrack to receive conversions ### Setup Process #### 1. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Conversion Pixel** template type 4. Choose **RedTrack** from the dropdown #### 2. Basic Configuration ![](https://callgrid.com/api/media/file/RedTemplate.png) 1. **Subdomain**: Enter your RedTrack subdomain (without .redtrack.io) 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Completed** 4. Click **Save Webhook** #### 3. Advanced Options (Optional) After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/RedConfig.png) **Dynamic Variables** The system automatically maps call data to RedTrack postback parameters: - rtkcid maps to RedTrack's click ID for conversion attribution - CallRevenue maps to the sum parameter for payout tracking **Request Structure** The webhook sends a GET request to RedTrack's postback endpoint with: - Click ID for matching conversions to original clicks - Revenue amount for accurate payout calculation - Timestamp and conversion data **Filtering** ![](https://callgrid.com/api/media/file/RedFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when conversions fire - Combine conditions with **Add Or Rule** or **Add And Rule** **Testing** ![](https://callgrid.com/api/media/file/RedTest.png) - Fill in test values for detected variables - Click **Run Webhook** to verify the integration - Check your RedTrack dashboard to confirm conversion data appears ### Best Practices - Ensure your RedTrack campaign is properly configured to accept postback conversions - Use consistent click ID handling across your tracking setup - Monitor RedTrack reports to verify conversion attribution accuracy - Test thoroughly with live clicks before scaling campaigns - Keep your RedTrack subdomain information current ### Troubleshooting - Verify your RedTrack subdomain is entered correctly (without .redtrack.io) - Check that your RedTrack campaign accepts postback conversions - Ensure test conversions include valid click ID data - Monitor RedTrack logs for any postback errors or missing data - Contact RedTrack support for campaign-specific configuration help The integration provides accurate server-to-server conversion tracking that doesn't rely on browser cookies, ensuring reliable attribution for your affiliate marketing campaigns even when users have ad blockers or privacy settings enabled. --- ## Setting Up Google Tag Manager Server-Side Conversion Webhook > The Google Tag Manager Server-Side integration sends conversion events to your GTM server container, enabling server-side tracking. Source: https://callgrid.com/knowledge-base/setting-up-google-tag-manager-server-side-conversion-webhook Last updated: 2025-09-24 Topics: Integrations, Conversion Pixel The Google Tag Manager Server-Side integration sends conversion events to your GTM server container, enabling server-side tracking that improves data accuracy and reduces client-side code load on your website. ### Prerequisites Before setting up your webhook, you'll need: - An active Google Cloud Platform account with billing enabled - A Google Tag Manager server container deployed and running - Your GTM server container API secret - Your Google Analytics Measurement ID (G-XXXXXXXXX format) ### Setup Process #### 1. Get Required Credentials **Find Your Server Container Details:** 1. Go to Google Tag Manager 2. Select your server container workspace 3. Navigate to Admin > Container Settings 4. Copy the Server Container URL and note the region **Generate API Secret:** 1. In your server container, go to Admin 2. Find the API secret in container settings 3. Copy the secret for webhook configuration #### 2. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Conversion Pixel** template type 4. Choose **Google Tag Manager** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/GoogleTemplate-1.png) 1. **Server Region**: Select your GTM server region (us, eu, or asia) 2. **API Secret**: Enter your GTM server container API secret 3. **Measurement ID**: Enter your Google Analytics Measurement ID 4. **Name**: Give your webhook a name 5. **Event**: Select **Call Completed** 6. Click **Save Webhook** #### 4. Advanced Options (Optional) After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/GoogleConfig.png) **Dynamic Variables** The system automatically maps call data to server-side event parameters: - VisitorIpAddress maps to client_id for user identification - InboundNumber maps to user_id parameter - CallId maps to transaction_id for conversion tracking - CallRevenue maps to purchase value and item pricing - UTCUnixTime maps to timestamp_micros for accurate timing **Request Structure** The webhook sends Purchase events with: - User identification data (client_id, user_id) - Event timing information - Transaction details including currency and value - Item-level data for ecommerce tracking **Filtering** ![](https://callgrid.com/api/media/file/GoogleFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when events fire - Combine conditions with **Add Or Rule** or **Add And Rule** **Testing** ![](https://callgrid.com/api/media/file/GoogleTesting.png) - Fill in test values for detected variables - Click **Run Webhook** to verify the integration - Check your GTM server container preview mode to confirm data receipt ### Best Practices - Ensure your server container is properly deployed and accessible - Use consistent client_id values for accurate user tracking - Configure appropriate triggers in your server container to handle incoming events - Monitor server container performance and costs in Google Cloud Platform - Test thoroughly before deploying to production campaigns ### Troubleshooting - Verify your API secret and server region are correctly configured - Check that your server container is running and accessible - Ensure your Google Analytics Measurement ID is valid and active - Monitor server container logs in GCP for any error messages - Use GTM preview mode to validate incoming event data structure The integration enables you to move conversion tracking from client-side to server-side, improving data accuracy while reducing the tracking load on user browsers and providing more reliable measurement data. --- ## Setting Up Meta Pixel Conversion Webhook > The Meta Pixel integration sends conversion events directly to Facebook using the Conversions API, enabling server-side tracking. Source: https://callgrid.com/knowledge-base/setting-up-meta-pixel-conversion-webhook Last updated: 2025-09-24 Topics: Integrations, Conversion Pixel The Meta Pixel integration sends conversion events directly to Facebook using the Conversions API, enabling server-side tracking that improves ad attribution and measurement accuracy beyond browser-based pixel tracking. ### Prerequisites Before setting up your webhook, you'll need: - An active Facebook Business Manager account - A Meta Pixel set up on your website - Pixel ID from your Meta Events Manager - Access Token generated from your Facebook Business account ### Setup Process #### 1. Get Required Credentials **Find Your Pixel ID:** 1. Go to Meta Events Manager 2. Select your pixel from Data Sources 3. Copy the Pixel ID **Generate Access Token:** 1. In Meta Events Manager, go to Settings 2. Navigate to Conversions API section 3. Click Generate Access Token 4. Copy the token for webhook configuration #### 2. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Conversion Pixel** template type 4. Choose **Meta Pixel** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/MetaTemplate.png) 1. **Pixel ID**: Enter your Facebook Pixel ID 2. **Access Token**: Enter your Facebook Access Token 3. **Name**: Give your webhook a name 4. **Event**: Select **Recording Completed** 5. Click **Save Webhook** #### 4. Advanced Options (Optional) After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/MetaConfig.png) **Dynamic Variables** The system automatically maps call data to Facebook event parameters: - UTCUnixTime maps to event_time for accurate timing - InboundNumber maps to phone number (ph) for customer matching - fbc maps to Facebook click identifier for attribution - VisitorUserAgent maps to client_user_agent for device tracking - VisitorIpAddress maps to client_ip_address for location data - CallRevenue maps to value for conversion tracking **Request Structure** The webhook sends conversion data as Purchase events with: - Event timing and user identification data - Custom conversion values and currency information - Client information for improved matching **Filtering** ![](https://callgrid.com/api/media/file/MetaFilters.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when events fire - Combine conditions with **Add Or Rule** or **Add And Rule** **Testing** ![](https://callgrid.com/api/media/file/MetaTest.png) - Fill in test values for detected variables - Click **Run Webhook** to verify the integration - Check Meta Events Manager Test Events to confirm data receipt ### Best Practices - Use alongside your existing Meta Pixel for optimal tracking coverage - Ensure consistent event naming between server and browser tracking - Test thoroughly before deploying to live campaigns - Monitor Event Match Quality scores in Meta Events Manager - Keep access tokens secure and rotate them regularly ### Troubleshooting - Verify your Pixel ID and Access Token are correctly entered - Check that your Facebook Business account has proper permissions - Ensure test events appear in Meta Events Manager Test Events tool - Allow time for data to process and appear in Facebook reporting - Review Meta's Conversions API documentation for parameter requirements The integration provides more reliable conversion tracking by sending data directly from your server to Meta, helping improve ad performance and attribution accuracy in privacy-focused environments. --- ## Setting Up Google Analytics Conversion Pixel Webhook > The GA integration sends conversion events enabling server-to-server tracking of call conversions alongside your existing web analytics data. Source: https://callgrid.com/knowledge-base/setting-up-google-analytics-conversion-pixel-webhook Last updated: 2025-09-24 Topics: Integrations, Conversion Pixel The Google Analytics integration sends conversion events directly to Google Analytics using the Measurement Protocol, enabling server-to-server tracking of call conversions alongside your existing web analytics data. ### Prerequisites Before setting up your webhook, you'll need: - An active Google Analytics property - API Secret from your GA Measurement Protocol settings - Your GA Measurement ID (format: G-XXXXXXXXX) ### Setup Process #### 1. Create API Secret in GA 1. Navigate to your Google Analytics property 2. Go to **Admin** > **Data Streams** > select your stream 3. Click **Measurement Protocol** > **Create** 4. Provide a nickname and copy the generated API secret #### 2. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Conversion Pixel** template type 4. Choose **Google Analytics** from the dropdown #### 3. Basic Configuration ![](https://callgrid.com/api/media/file/GATemplate.png) #### 1. **API Secret**: Enter your GA Measurement Protocol API secret 2. **Measurement ID**: Enter your GA Measurement ID (G-XXXXXXXXX format) 3. **Name**: Give your webhook a name 4. **Event**: Select **Recording Completed** 5. Click **Save Webhook** #### 4. Advanced Options (Optional) After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/GAConfig.png) **Dynamic Variables** The system automatically maps call data to GA event parameters: - VisitorIpAddress maps to client_id for user identification - InboundNumber maps to user_id parameter - CallId maps to transaction_id for event tracking - CallRevenue maps to value parameter for conversion value - UTCUnixTime maps to timestamp_micros for accurate timing **Request Structure** The webhook sends a POST request with JSON payload containing: - Event name (purchase) - Client identification parameters - Transaction details including currency and value - Timestamp information for accurate attribution **Filtering** ![](https://callgrid.com/api/media/file/GAFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when events fire - Combine conditions with **Add Or Rule** or **Add And Rule** **Testing** ![](https://callgrid.com/api/media/file/GAtesting.png) - Fill in test values for detected variables - Click **Run Webhook** to verify the integration - Check that events appear in your GA real-time reports ### Best Practices - Ensure your GA property is properly configured before testing - Use consistent client_id values for accurate user tracking - Test with small amounts first to verify data accuracy - Monitor GA reports to confirm events are being received - Keep your API secret secure and rotate it periodically ### Troubleshooting - Verify your API Secret is active and correctly entered - Check that your Measurement ID format is correct (G-XXXXXXXXX) - Ensure test values include required parameters like client_id - Allow up to 24-48 hours for data to appear in GA reports - Use GA's DebugView for real-time event validation The integration enables you to track call conversions alongside your web analytics data, providing a complete view of customer interactions across all touchpoints. --- ## Setting Up CAKE Conversion Pixel Webhook > The CAKE integration fires conversion tracking pixels when calls convert, enabling accurate campaign attribution and affiliate payouts. Source: https://callgrid.com/knowledge-base/setting-up-cake-conversion-pixel-webhook Last updated: 2025-09-24 Topics: Integrations, Conversion Pixel The CAKE integration fires conversion tracking pixels to CAKE's affiliate marketing platform when calls convert, enabling accurate campaign attribution and affiliate payouts. ### Setup Process #### 1. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Conversion Pixel** template type 4. Choose **CAKE** from the dropdown #### 2. Basic Configuration ![](https://callgrid.com/api/media/file/CakeTemplate.png) 1. **CAKE Domain**: Enter your CAKE domain (e.g., yourdomain.cake.com) 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Completed** 4. Click **Save Webhook** #### 3. Advanced Options (Optional) After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/CakeConfig.png) **Dynamic Variables** The system automatically maps call data to CAKE parameters: - CallId maps to transaction ID for conversion matching - CampaignId maps to CAKE Offer ID for attribution - SourceSubId maps to affiliate/publisher ID - CallRevenue maps to revenue amount for payouts **Filtering** ![](https://callgrid.com/api/media/file/CakeFilter.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when pixels fire - Combine conditions with **Add Or Rule** or **Add And Rule** **Testing** ![](https://callgrid.com/api/media/file/CakeTesting.png) - Fill in test values for all detected variables - Click **Run Webhook** to verify the integration - Check that conversions appear in your CAKE admin portal ### Best Practices - Test with valid CAKE Offer IDs before going live - Use filters to fire pixels only on successful conversions - Ensure transaction IDs are unique for accurate tracking - Monitor conversion attribution in CAKE reporting - Keep your CAKE domain information current ### Troubleshooting - Verify your CAKE domain is entered correctly - Check that Campaign IDs correspond to active CAKE Offer IDs - Ensure revenue amounts are in the correct format - Use the testing tool to validate pixel firing - Review CAKE's conversion logs for any error messages The integration provides real-time conversion tracking to help optimize affiliate campaigns and ensure accurate commission attribution. --- ## DialPad Agent Availability Integration > The DialPad integration enables CallGrid to receive real-time agent availability updates from your DialPad contact center environment. Source: https://callgrid.com/knowledge-base/dialpad-agent-availability-integration Last updated: 2025-09-24 Topics: Integrations, Agent Availability The DialPad integration enables CallGrid to receive real-time agent availability updates from your DialPad contact center environment. This integration uses DialPad's API to monitor agent availability and route calls intelligently based on current staffing levels and operational capacity. ### Prerequisites Before setting up this integration, ensure you have: - An active DialPad account with administrative privileges - Access to your DialPad Management Console - A generated Bearer Authentication Token from your DialPad account - Your specific Call Center ID for the integration - API access enabled on your DialPad account ### Configuration Steps #### Step 1: Generate Bearer Authentication Token 1. Log into your DialPad Management Console 2. Navigate to **Settings** → **API & Integrations** 3. Click **Create API Token** or locate your existing token 4. Copy the Bearer token securely (you'll need this for the integration) 5. Ensure the token has permissions for call center status monitoring #### Step 2: Identify Your Call Center ID 1. In your DialPad Management Console, navigate to **Call Centers** 2. Select the call center you want to monitor for agent availability 3. Note the Call Center ID from the URL or settings page 4. This identifier will be used in the integration setup #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **DialPad** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields ![](https://callgrid.com/api/media/file/DPTemplate.png) **Bearer Authentication Token** _(Required)_ - Paste your DialPad Bearer authentication token - This token authenticates your requests to DialPad's API - Example format: Bearer your_token_here **Call Center ID** _(Required)_ - Enter your DialPad call center identifier - This specifies which call center to monitor for agent availability - Example: 12345678 or cc_abcd1234 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: ![](https://callgrid.com/api/media/file/DPConfig.png) **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### Authentication Headers The system automatically configures the Authorization header: - **Key**: Authorization - **Value**: Bearer {YOUR_TOKEN} (your Bearer authentication token) ###### Acceptance Parsing ![](https://callgrid.com/api/media/file/DPAP.png) The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Minimum Agent Threshold** The system is pre-configured to check for available agents using the on_duty_operators field. You can adjust the minimum number of agents required: - **Value: 0** - Accept calls when any agents are available (default) - **Value: 1** - Accept calls when at least 2 agents are available - **Value: 2** - Accept calls when at least 3 agents are available - **Value: 3** - Accept calls when at least 4 agents are available Simply change the number in the "Value" field to set your minimum agent requirement. **Additional Acceptance Criteria** Click **Add acceptance criteria** to create multiple conditions based on DialPad's response data: - Monitor available agent count - Check queue-specific availability - Set business hours restrictions - Combine multiple operational conditions ###### Agent Availability Parsing **Response Field Mapping** Configure which fields from the DialPad API response to use for agent availability: - **Property Path**: Enter the JSON path to the availability data - **Common Fields**: - on_duty_operators - Agents currently on duty and available - busy_operators - Agents currently handling calls - available_operators - Agents ready to receive calls - queue_length - Current number of calls in queue ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/DPTest.png) To test your integration: 1. Fill in your **Bearer Authentication Token** and **Call Center ID** in the configuration fields 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your current agent availability data 4. Confirm the acceptance parsing criteria work correctly with your agent threshold The webhook test will connect to your DialPad system in real-time and show you whether calls would be accepted based on your current agent availability and threshold settings. ### Advanced Configuration Examples #### Example 1: Basic Available Agent Check **Acceptance Criteria:** - Field: on_duty_operators - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent is on duty and available. #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Field: on_duty_operators - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are on duty, providing buffer capacity. #### Example 3: Queue Management **Acceptance Criteria:** - Field: available_operators - Condition: Greater Than - Value: 1 **AND** - Field: queue_length - Condition: Less Than - Value: 5 This configuration accepts calls when multiple agents are available AND the queue isn't too backed up. ### How It Works #### Agent Status Monitoring The integration monitors real-time agent status changes through DialPad's Call Center Status API. Agent statuses include: - **Available** - Agent is ready to receive calls - **On Call** - Agent is currently handling a call - **Away** - Agent is temporarily unavailable - **Do Not Disturb** - Agent is not accepting calls - **Offline** - Agent is not logged into the system #### Real-Time Updates CallGrid polls DialPad's API at configurable intervals (typically every 10-30 seconds) to receive the most current agent availability data. This ensures routing decisions are based on up-to-date information. #### Call Routing Logic When a call comes into CallGrid: 1. The system checks the configured DialPad webhook 2. Retrieves current agent availability from DialPad's API 3. Applies your acceptance criteria (minimum agents, queue limits, etc.) 4. Routes the call to this destination only if criteria are met 5. Otherwise, continues to the next destination in the routing sequence ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your Bearer Authentication Token is correct and current - Ensure the token has proper permissions for API access - Check that your DialPad account has API access enabled **Invalid Call Center ID** - Confirm your Call Center ID exists in your DialPad system - Verify the Call Center ID is active and properly configured - Check that you have permissions to access this call center **No Agent Data Returned** - Ensure agents are logged into your DialPad system - Verify agents are assigned to the monitored call center - Check that agent status monitoring is functioning in DialPad **Webhook Timeouts** - Check your internet connection and firewall settings - Verify DialPad's API is accessible from your network - Consider adjusting the timeout value if DialPad responses are slow #### Testing Best Practices 1. **Initial Setup Testing**: Always run the webhook test after configuration 2. **Live Environment Testing**: Test during different staffing levels to verify thresholds 3. **Edge Case Testing**: Test with zero agents, maximum agents, and queue scenarios 4. **Regular Monitoring**: Set up alerts for webhook failures or unexpected responses ### Rate Limits and Considerations - **API Rate Limits**: Monitor API usage to stay within DialPad's rate limits - **Update Frequency**: Agent availability data updates based on DialPad's refresh intervals - **Performance Impact**: Consider the performance impact of frequent API calls during peak hours - **Failover Strategy**: Configure backup destinations in case DialPad integration fails ### Reporting and Analytics Once configured, the DialPad integration provides visibility in CallGrid reports: - **Agent Availability Trends**: Track agent availability over time - **Routing Decisions**: See how often calls are accepted/rejected based on agent availability - **Performance Metrics**: Monitor call routing efficiency and agent utilization - **Multi-Destination Analytics**: Compare agent availability across different call centers ### Best Practices #### Threshold Setting - Start with conservative thresholds (requiring multiple available agents) - Adjust based on actual call volume and agent performance - Consider peak vs. off-peak hour requirements #### Monitoring and Maintenance - Regularly verify webhook connectivity - Monitor for authentication token expiration - Update Call Center IDs if organizational changes occur - Review and adjust acceptance criteria based on performance data #### Integration with Other Systems - Combine DialPad availability with other routing criteria - Use with time-based routing for comprehensive call management - Integrate with CRM systems for enhanced caller experience ### #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters match your DialPad setup 3. Test the webhook connection using the built-in testing tool 4. Contact CallGrid support with integration details and error logs For technical support, include: - Your Call Center ID - Error messages from webhook tests - Screenshot of your configuration - Description of expected vs. actual behavior --- ## Zendesk Agent Availability Integration > The Zendesk Agent Availability integration enables CallGrid to check real-time agent status before routing calls to your Zendesk Support environment. Source: https://callgrid.com/knowledge-base/zendesk-agent-availability-integration Last updated: 2025-09-24 Topics: Integrations, Agent Availability The Zendesk Agent Availability integration enables CallGrid to check real-time agent status before routing calls to your Zendesk Support environment. This integration uses Zendesk's Agent Availability API to monitor agent availability across different channels and ensures calls are only sent when agents are online and ready to handle them. ### Prerequisites Before setting up this integration, ensure you have: - An active Zendesk Support account with Omnichannel Contact Center enabled - Administrative access to your Zendesk account - API authentication credentials (email and API token) - Your Zendesk subdomain information ### Configuration Steps #### Step 1: Generate Zendesk API Credentials 1. Log into your Zendesk Admin Center 2. Navigate to **Apps and integrations** → **APIs** → **Zendesk API** 3. Enable API access if not already enabled 4. Generate an API token: - Click **Add API token** - Enter a description for the token - Copy the generated token securely 5. Note your email address (used for authentication) #### Step 2: Prepare Authentication Create a Base64 encoded authentication string using the format: email/token:api_token For example, if your email is [admin@company.com](mailto:admin@company.com) and your API token is abc123, you would encode: admin@company.com/token:abc123 #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **Agent Availability** template type 6. Select **Zendesk** from the available templates 7. Fill in the required fields: ###### Required Configuration Fields ![](https://callgrid.com/api/media/file/ZenTemplate.png) **Subdomain** _(Required)_ - Enter your Zendesk subdomain - Example: yourcompany (if your Zendesk URL is yourcompany.zendesk.com) **Basic Auth Token** _(Required)_ - Enter your Base64 encoded email:password for basic authentication - Format: Base64 encoded string of email/token:api_token - Example: YWRtaW5AY29tcGFueS5jb20vdG9rZW46YWJjMTIz 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: ![](https://callgrid.com/api/media/file/ZenConfig.png) **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### Authentication Headers The system automatically configures the required headers: - **Authorization**: Basic TEMPLATE_BASIC_AUTH (your Base64 encoded credentials) - **Zendesk-Api-Version**: 2023-02-01 (API version header) ###### Acceptance Parsing The integration uses advanced Regex pattern matching to count online agents from the JSON response. ![](https://callgrid.com/api/media/file/ZenAP.png) **Parsing Configuration** - **Parse Type**: Regex (automatically configured) - **Regex Type**: Count - **Pattern**: "agent_status":{"name":"online"} **Default Acceptance Criteria** The system counts agents with "online" status using regex pattern matching. The default configuration accepts calls when at least one agent is online. ###### Advanced Parsing Options You can customize the regex pattern to match different agent status conditions: **Available Patterns:** - "agent_status":{"name":"online"} - Counts agents with online status - "agent_status":{"name":"offline"} - Counts agents with offline status - "agent_status":{"name":"away"} - Counts agents with away status ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/zentest.png) To test your integration: 1. Fill in your **Subdomain** and **Basic Auth Token** 2. Click **Run Webhook** to test the connection 3. Verify the test passes and shows current agent availability data 4. Confirm the acceptance parsing correctly counts online agents 5. Check that the regex pattern matches the expected agent status format The built-in webhook test will connect to your Zendesk system in real-time and show you whether calls would be accepted based on your current agent availability. ### How It Works #### Agent Availability Check The integration monitors real-time agent status through Zendesk's Agent Availability API: 1. **Real-time Polling**: CallGrid checks agent availability before routing each call 2. **Status Pattern Matching**: Uses regex to count agents with specific status values 3. **Smart Routing**: Calls are only sent when online agent count meets your thresholds 4. **Multi-Channel Support**: Monitors agent status across different Zendesk channels ### Advanced Configuration Examples #### Example 1: Basic Online Agent Count **Acceptance Criteria:** - Regex Pattern: "agent_status":{"name":"online"} - Condition: Greater Than - Value: 0 This configuration accepts calls when at least one agent is online. #### Example 2: Multiple Online Agents Required **Acceptance Criteria:** - Regex Pattern: "agent_status":{"name":"online"} - Condition: Greater Than - Value: 2 This setup ensures calls are only accepted when at least 3 agents are online. #### Example 3: Exclude Away Agents **Acceptance Criteria:** - Regex Pattern: "agent_status":{"name":"online"} - Condition: Greater Than - Value: 1 Combined with a second criteria: - Regex Pattern: "agent_status":{"name":"away"} - Condition: Less Than - Value: 5 This ensures sufficient online agents while limiting away agents. ### Agent Status Types #### Standard Zendesk Agent Statuses - **online**: Agent is available and can receive work - **offline**: Agent is not available for work - **away**: Agent is temporarily unavailable #### Custom Unified Statuses If your Zendesk account has custom unified statuses enabled, you can also monitor for: - Custom status names (e.g., "In a meeting", "On break") - Channel-specific statuses (messaging, support, talk) ### Advanced Use Cases #### Multi-Channel Monitoring Monitor agent availability across different Zendesk channels by adjusting regex patterns to target specific channel statuses. #### Group-Based Routing Combine agent availability with group membership data for routing calls to specific agent groups. #### Capacity-Based Decisions Use the API response to monitor agent workload and capacity across different channels. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your Base64 encoded credentials are correct - Ensure your API token is valid and has appropriate permissions - Check that your email address is correct and has admin access **Invalid Subdomain** - Confirm your subdomain matches your Zendesk account - Verify the subdomain is spelled correctly - Check that your Zendesk instance is accessible **No Agent Data Returned** - Ensure Omnichannel Contact Center is enabled on your account - Verify agents are logged into your Zendesk system - Check that the Agent Availability API is accessible **Regex Pattern Issues** - Test regex patterns with sample response data - Verify patterns match the exact JSON structure returned by Zendesk - Check for case sensitivity in agent status names #### Testing the Integration **Template Configuration Test**: 1. After entering subdomain and auth token, click **Save Webhook** 2. Review the auto-generated URL and headers **Built-in Webhook Test**: 1. In the advanced configuration screen, click **Run Webhook** 2. Verify the API response contains expected agent availability data 3. Test different regex patterns and acceptance criteria 4. Confirm agent status counting works correctly **Live Integration Test**: 1. Monitor CallGrid logs for successful API calls 2. Verify agent status data is being parsed correctly 3. Test call routing based on agent availability conditions ### API Rate Limits - **Rate Limit**: 300 requests per minute - **Response Time**: Typically under 500ms for availability checks - **Data Freshness**: Real-time agent status updates - **Concurrent Requests**: Monitor usage to avoid hitting limits ### #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test the integration using the built-in webhook test feature 4. Contact CallGrid support with integration details --- ## TLD Legacy Agent Availability Integration > The TLD Agent Availability integration enables CallGrid to check dialer readiness in real-time before routing calls. Source: https://callgrid.com/knowledge-base/tld-legacy-agent-availability-integration Last updated: 2025-10-29 Topics: Integrations, Agent Availability The TLD (Total Lead Domination) Legacy Agent Availability integration enables CallGrid to check dialer readiness in real-time before routing calls using TLD's original ping system. This integration helps ensure calls are only sent when your TLD dialer system is ready to handle them. > **Note:** ⚠️ **Important Notice:** This legacy integration method will be deprecated in 2026. TLD recommends using the [TLD Vendor Ping Integration](https://callgrid.com/TLD_Vendor_Integration.md) for new setups. The legacy system remains active through Medicare open enrollment but will be fully removed sometime in 202. ### Prerequisites Before setting up this integration, ensure you have: - An active TLD account with API access - Your TLD subdomain information - Your Ingroup ID from your TLD system - **Note:** This method does not require vendor-specific API keys ### Configuration Steps #### Step 1: Gather TLD Information 1. Log into your TLD system 2. Locate your subdomain (e.g., "dialer" if your domain is dialer.tldcrm.com) 3. Find your Ingroup ID value from your dialer configuration #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **Agent Availability** template type 6. Select **TLD** from the available templates 7. Fill in the required fields: ###### Required Configuration Fields ![](https://callgrid.com/api/media/file/TLDTemplate.png) **Sub domain** _(Required)_ - Enter your TLD subdomain - Example: dialer **Ingroup ID** _(Required)_ - Enter your Ingroup ID value - This identifies which ingroup to check for availability 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: ![](https://callgrid.com/api/media/file/TLDConfig.png) **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **URL Parameters** The integration automatically includes these query parameters: - **ava**: Set to 1 to check availability - **ing**: Your configured Ingroup ID - Dynamic phone number from [[tag:InboundNumberNoPlus]] ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. ![](https://callgrid.com/api/media/file/TLDap.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the API response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for readiness using the ready field: - **Field**: ready - **Condition**: Greater Than - **Value**: 0 This configuration accepts calls only when TLD responds with a ready value greater than 0. ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/TLDTest.png) To test your integration: 1. Fill in your **Sub domain** and **Ingroup ID** 2. In the webhook testing section, provide test values: - **tag:InboundNumberNoPlus**: Enter a test phone number without plus sign (e.g., 5551234567) 3. Click **Run Webhook** to test the connection 4. Verify the test passes and shows your TLD system's current readiness status 5. Confirm the acceptance parsing works correctly with the response The built-in webhook test will connect to your TLD system in real-time and show you whether calls would be accepted based on your current TLD availability. ### How It Works #### Dialer Availability Check The integration monitors real-time dialer readiness through TLD's API: 1. **Real-time Polling**: CallGrid checks dialer availability before routing each call 2. **Readiness Evaluation**: The system evaluates current dialer status against your criteria 3. **Smart Routing**: Calls are only sent when dialer availability meets your thresholds 4. **System Protection**: Helps prevent sending calls to unavailable or overloaded systems ### Advanced Configuration Examples #### Example 1: Basic Readiness Check **Acceptance Criteria:** - Field: ready - Condition: Greater Than - Value: 0 This configuration accepts calls only when the TLD is ready. #### Example 2: Enhanced Readiness Threshold **Acceptance Criteria:** - Field: ready - Condition: Greater Than - Value: 1 This setup ensures calls are only accepted when readiness value is greater than 1. #### Example 3: Ingroup Validation **Acceptance Criteria:** - Field: ingroup_id - Condition: Not Equals - Value: null This configuration ensures calls are only accepted when a valid ingroup is confirmed. ### Troubleshooting #### Common Issues **Connection Issues** - Verify your subdomain is correct and matches your TLD system - Ensure your TLD system is accessible and running - Check network connectivity to TLD's API endpoints **Invalid Ingroup ID** - Confirm your Ingroup ID exists in your TLD system - Verify the Ingroup ID is active and properly configured - Check that the ingroup has agents assigned **No Ready Status** - Ensure agents are logged into your TLD system - Verify the ingroup is properly configured and active - Check that the dialer service is running and responsive **Phone Number Format Issues** - Verify phone numbers are being passed without the plus sign - Check that the InboundNumberNoPlus tag is being populated correctly - Test with different phone number formats if needed #### Testing the Integration **Template Configuration Test**: 1. After entering subdomain and ingroup ID, click **Save Webhook** 2. Review the auto-generated URL and parameters **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values: - **tag:InboundNumberNoPlus**: Enter a test phone number (e.g., 5551234567) 2. Click **Run Webhook** to test the connection 3. Verify the response contains expected readiness data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful availability checks 2. Verify dialer readiness data is being parsed correctly 3. Test call routing based on availability conditions This integration helps prevent sending calls to unavailable systems and improves overall call handling efficiency by ensuring your TLD is ready before routing calls. --- ## Setting Up Blacklist Alliance Caller ID Lookup Webhook > The Blacklist Alliance integration provides real-time caller ID verification to help your business stay compliant with TCPA regulations. Source: https://callgrid.com/knowledge-base/setting-up-blacklist-alliance-caller-id-lookup-webhook Last updated: 2025-09-24 Topics: Integrations, Caller ID Lookup The Blacklist Alliance integration checks incoming caller IDs against litigation databases to help maintain TCPA compliance and reduce legal risk. ### Setup Process #### 1. Create New Webhook 1. Navigate to **Integrations** → **Webhooks** 2. Click **+ New Webhook** 3. Select **Caller ID Lookup** template type 4. Choose **Blacklist Alliance** from the dropdown #### 2. Basic Configuration ![](https://callgrid.com/api/media/file/BATemplate.png) 1. **API Key**: Enter your Blacklist Alliance API key 2. **Name**: Give your webhook a name 3. **Event**: Select **Call Completed** 4. Click **Save Webhook** #### 3. Advanced Options (Optional) After saving, you can configure additional settings: ![](https://callgrid.com/api/media/file/BAConfig.png) **Filtering** ![](https://callgrid.com/api/media/file/BATags.png) - Add filters using any system tag (InboundState, BuyerName, CampaignName, etc.) - Use **Equals** conditions to control when the webhook fires - Combine multiple conditions with **Add Or Rule** or **Add And Rule** **Value Extraction** ![](https://callgrid.com/api/media/file/BAValue.png) - Run a webhook test first to see available response data - Map response properties to custom tags for routing rules **Testing** ![](https://callgrid.com/api/media/file/BAWebhook.png) - Fill in test values for detected variables - Click **Run Webhook** to verify the integration works - Check that the response contains the expected caller verification data ### Best Practices - Test your configuration before going live - Use filters to apply checks only when needed - Monitor webhook performance and adjust timeout if necessary - Keep your API credentials secure and up to date ### Troubleshooting - Verify your API key is active and has the correct permissions - Check that filter values match your system's actual tag values - Use the testing tool to diagnose connection issues - Contact support if you encounter persistent problems The integration helps protect your calling campaigns by identifying high-risk callers in real-time, supporting your compliance efforts while maintaining operational efficiency. --- ## Ringba Real Time Bidding Integration > The Ringba Real Time Bidding (RTB) integration enables you to send bid requests to Ringba's marketplace in real-time. Source: https://callgrid.com/knowledge-base/ringba-real-time-bidding-integration Last updated: 2025-09-24 Topics: Integrations, Real Time Bidding The Ringba Real Time Bidding (RTB) integration enables you to send bid requests to Ringba's marketplace in real-time. This integration allows you to monetize your call traffic by submitting calls to Ringba buyers who can bid on them dynamically based on call characteristics, geographic data, and caller information. **Other Helpful Ringba Articles:** 1. [Posting Bids from Ringba to CallGrid using RTB](https://callgrid.com/posts/posting-bids-from-ringba-to-callgrid-using-rtb) 2. [Posting Conversions to Ringba from CallGrid](https://callgrid.com/posts/posting-conversions-to-ringba-from-callgrid) 3. [Receiving Conversion Events from CallGrid in Ringba](https://callgrid.com/posts/receiving-conversion-events-from-callgrid-in-ringba) 4. [Receiving Bids from Ringba in CallGrid](https://callgrid.com/posts/receiving-bids-from-ringba-in-callgrid) ![](https://callgrid.com/api/media/file/RingbaTemplate-1.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Ringba account with RTB permissions - Your Ringba RTB identifier from your account - Understanding of your call routing and monetization strategy - Knowledge of your target geographic markets ### Configuration Steps #### Step 1: Obtain Ringba RTB Information 1. Log into your Ringba account 2. Navigate to your RTB or marketplace settings 3. Locate your **RTB ID** (your unique identifier for RTB campaigns) 4. Ensure your account has RTB access and appropriate permissions 5. Verify that your RTB campaigns are active and accepting bids #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Switch to **Real Time Bidding** template type 6. Select **Ringba** from the Real Time Bidding templates 7. Fill in the required field: ###### Required Configuration Fields **RTB ID** _(Required)_ - Enter your Ringba RTB identifier - This is your unique identifier for RTB campaigns in Ringba - Example: rtb123456 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and request structure for you. ###### Request Configuration ![](https://callgrid.com/api/media/file/RingbaConfig.png) **URL Structure** The webhook URL is automatically generated based on your configuration: https://rtb.ringba.com/v1/production/RTBID.json?CID=[[tag:CallerId]]&State=[[tag:VisitorStateCode|tag:InboundStateCode]]&ZipCode=[[tag:VisitorZipCode|tag:InboundZipCode]]&exposeCallerId=yes **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **URL Parameters** The integration automatically includes these query parameters with dynamic values: - **CID**: Caller ID from [[tag:CallerId]] - **State**: State code with fallback logic - uses VisitorStateCode if available, otherwise InboundStateCode - **ZipCode**: Zip code with fallback logic - uses VisitorZipCode if available, otherwise InboundZipCode - **exposeCallerId**: Set to "yes" to expose caller ID to buyers ###### Dynamic Parameter Logic The integration uses intelligent fallback logic for geographic parameters: - **State Parameter**: [[tag:VisitorStateCode|tag:InboundStateCode]] - Uses visitor state if available, falls back to inbound state - **ZipCode Parameter**: [[tag:VisitorZipCode|tag:InboundZipCode]] - Uses visitor zip if available, falls back to inbound zip This ensures the most accurate geographic targeting for your calls. ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when bids are accepted. ![](https://callgrid.com/api/media/file/RingbaAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the bid response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for bid amounts using the bidAmount field: - **Field**: bidAmount - **Condition**: Greater Than - **Value**: 0 This configuration accepts bids when Ringba responds with a bid amount greater than 0. ###### Bid Response Handling **Response Field Options** Configure which fields from the Ringba bid response to use for acceptance: - **Property Path**: Enter the JSON path to the bid data - **Common Fields**: - bidAmount - The bid amount offered for the call - targetNumber - Phone number where the call should be routed - campaignId - ID of the campaign that won the bid - buyerId - ID of the buyer making the offer ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/RingbaWebhook.png) To test your integration: 1. Fill in your **RTB ID** 2. In the webhook testing section, provide test values for geographic targeting: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) - **tag:VisitorStateCode|tag:InboundStateCode**: Enter a test state code (e.g., CA) - **tag:VisitorZipCode|tag:InboundZipCode**: Enter a test zip code (e.g., 90210) 3. Click **Run Webhook** to test the connection 4. Verify the test passes and shows a proper bid response from Ringba 5. Confirm the acceptance parsing works correctly with the response The built-in webhook test will send a test bid request to Ringba and show you whether bids would be accepted based on their response. ### How It Works #### Real-Time Bid Process The integration facilitates real-time bidding through Ringba's RTB API: 1. **Bid Request**: CallGrid sends call and geographic information to Ringba's RTB endpoint 2. **Campaign Evaluation**: Ringba evaluates the call against available campaigns and buyers 3. **Bid Response**: Ringba responds with the highest bid and routing information 4. **Acceptance Decision**: Your system evaluates the bid response against your criteria 5. **Call Routing**: If accepted, the call is routed to the winning buyer's target number #### Bid Response Structure Ringba's RTB API returns bid responses in the following format: { "bidAmount": 25.50, "targetNumber": "18005551234", "campaignId": "camp123456", "buyerId": "buyer789", "callerId": "5551234567", "state": "CA", "zipCode": "90210", "timestamp": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Bid Acceptance **Acceptance Criteria:** - Field: bidAmount - Condition: Greater Than - Value: 0 This configuration accepts calls when Ringba offers any bid amount. #### Example 2: Minimum Bid Threshold **Acceptance Criteria:** - Field: bidAmount - Condition: Greater Than - Value: 20.00 This setup ensures calls are only accepted when the bid exceeds $20.00. #### Example 3: Campaign Validation **Acceptance Criteria:** - Field: campaignId - Condition: Not Equals - Value: null This configuration ensures calls are only accepted when a valid campaign is matched. #### Example 4: Multiple Acceptance Criteria You can add multiple criteria to ensure both valid campaigns and minimum bids: **Criteria 1:** - Field: bidAmount - Condition: Greater Than - Value: 15.00 **Criteria 2:** - Field: targetNumber - Condition: Not Equals - Value: null ### Geographic Targeting #### State and Zip Code Optimization Ringba's RTB system uses geographic data for intelligent targeting: - **State-Level Targeting**: Campaigns can target specific states for regional optimization - **Zip Code Precision**: Fine-grained targeting based on caller's zip code location - **Fallback Logic**: Automatic fallback ensures geographic data is always provided #### Data Quality Best Practices - Ensure accurate state code formatting (2-letter codes: CA, NY, FL, etc.) - Use 5-digit zip codes for precise targeting - Monitor geographic data quality to maximize bid responses ### Advanced Use Cases #### Multi-RTB Strategy Configure multiple CallGrid destinations, each targeting different Ringba RTB campaigns to maximize coverage and competition. #### Geographic Optimization Leverage Ringba's geographic targeting to route calls to buyers optimized for specific regions and markets. #### Performance-Based Routing Use bid amount data to route calls to the highest-paying campaigns and optimize revenue. ### Troubleshooting #### Common Issues **Invalid RTB ID** - Verify your RTB ID is correct and matches your Ringba account - Ensure your RTB campaigns are active and accepting bids - Check that the RTB ID format is correct **No Bid Responses** - Ensure there are active campaigns in your Ringba RTB setup - Verify campaign targeting criteria match your call characteristics - Check that campaigns have available budget and capacity **Geographic Data Issues** - Verify state codes are in correct 2-letter format - Ensure zip codes are valid 5-digit codes - Check that geographic tags are being populated correctly **Low Bid Amounts** - Review call quality to ensure it meets buyer standards - Check that geographic targeting aligns with high-value campaigns - Verify that call characteristics match buyer preferences #### Testing the Integration **Template Configuration Test**: 1. After entering RTB ID, click **Save Webhook** 2. Review the auto-generated URL and parameters **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) - **tag:VisitorStateCode|tag:InboundStateCode**: Enter a test state code (e.g., CA) - **tag:VisitorZipCode|tag:InboundZipCode**: Enter a test zip code (e.g., 90210) 2. Click **Run Webhook** to test the connection 3. Verify the bid response contains expected campaign data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful bid requests 2. Verify bid responses are being parsed correctly 3. Test call routing based on bid amount acceptance conditions ### Best Practices #### Campaign Optimization - Monitor bid performance across different geographic markets - Track campaign success rates and optimize targeting accordingly - Ensure call quality standards meet buyer requirements #### Revenue Maximization - Set competitive but realistic bid thresholds - Monitor market rates and adjust expectations accordingly - Track performance metrics across different RTB campaigns #### Geographic Strategy - Test different geographic markets to identify high-value areas - Monitor state and zip code performance for optimization opportunities - Adjust geographic targeting based on campaign response patterns #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test the integration using the built-in webhook test feature 4. Contact CallGrid support with integration details --- ## Retreaver Real Time Bidding Integration > The Retreaver Real Time Bidding (RTB) integration enables you to send bid requests to Retreaver's marketplace in real-time. Source: https://callgrid.com/knowledge-base/retreaver-real-time-bidding-integration Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding The Retreaver Real Time Bidding (RTB) integration enables you to send bid requests to Retreaver's marketplace in real-time. This integration allows you to monetize your call traffic by submitting calls to Retreaver buyers who can bid on them dynamically based on call characteristics and campaign requirements. ![](https://callgrid.com/api/media/file/RetreaverTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Retreaver account with RTB permissions - Your Retreaver RTB authentication key - Publisher ID from your Retreaver account - Understanding of your call routing and monetization strategy ### Configuration Steps #### Step 1: Obtain Retreaver Account Information 1. Log into your Retreaver account 2. Navigate to your RTB or publisher settings 3. Locate your **RTB Key** (authentication key for RTB requests) 4. Find your **Publisher ID** (your unique identifier for the routing service) 5. Ensure your account has RTB access and appropriate permissions #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Switch to **Real Time Bidding** template type 6. Select **Retreaver** from the Real Time Bidding templates 7. Fill in the required fields: ###### Required Configuration Fields **RTB Key** _(Required)_ - Enter your Retreaver RTB authentication key - This key authenticates your requests to Retreaver's RTB system - Example: abc123def456ghi789jkl012 **Publisher ID** _(Required)_ - Enter your Publisher ID from Retreaver - This is your unique identifier for the routing service - Example: pub123456 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and request structure for you. ###### Request Configuration ![](https://callgrid.com/api/media/file/RetreaverConfig.png) **URL Structure** The webhook URL is automatically generated based on your configuration: https://rtb.retreaver.com/rtbs.json?key=Key&publisher_id=ID&caller_number=[[tag:CallerId]] **HTTP Method** - **Method**: POST (automatically configured) - **Content-Type**: application/json (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **URL Parameters** The integration automatically includes these query parameters: - **key**: Your Retreaver RTB authentication key - **publisher_id**: Your Publisher ID - **caller_number**: Dynamic caller ID from [[tag:CallerId]] **JSON Request Body** The integration sends an empty JSON object {} in the request body as required by Retreaver's RTB API. ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when bids are accepted. ![](https://callgrid.com/api/media/file/RetreaverAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the bid response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for campaign reservation status using the status field: - **Field**: status - **Condition**: Equals - **Value**: reserved This configuration accepts bids when Retreaver responds with a "reserved" status, indicating a successful campaign reservation. ###### Bid Response Handling **Response Field Options** Configure which fields from the Retreaver bid response to use for acceptance: - **Property Path**: Enter the JSON path to the bid data - **Common Fields**: - status - Response status indicating bid acceptance - campaign_id - ID of the campaign that accepted the bid - target_number - Phone number where the call should be routed - payout - The payout amount for the call ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/RetreaverWebhook-1.png) To test your integration: 1. Fill in your **RTB Key** and **Publisher ID** 2. In the webhook testing section, provide test values: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) 3. Click **Run Webhook** to test the connection 4. Verify the test passes and shows a proper bid response from Retreaver 5. Confirm the acceptance parsing works correctly with the response The built-in webhook test will send a test bid request to Retreaver and show you whether bids would be accepted based on their response. ### How It Works #### Real-Time Bid Process The integration facilitates real-time bidding through Retreaver's RTB API: 1. **Bid Request**: CallGrid sends call information to Retreaver's RTB endpoint 2. **Campaign Evaluation**: Retreaver evaluates the call against available campaigns 3. **Bid Response**: Retreaver responds with campaign reservation status and routing information 4. **Acceptance Decision**: Your system evaluates the bid response against your criteria 5. **Call Routing**: If accepted, the call is routed to the winning campaign's target number #### Bid Response Structure Retreaver's RTB API returns bid responses in the following format: { "status": "reserved", "campaign_id": "12345", "target_number": "18005551234", "payout": 25.50, "caller_number": "5551234567", "publisher_id": "pub123456", "timestamp": "2025-09-23T15:30:00Z" } ### Response Status Values #### Common Status Responses - **reserved**: Campaign successfully reserved - call should be routed - **no_match**: No matching campaigns available for this call - **rejected**: Call rejected due to campaign criteria - **error**: System error occurred during bid processing ### Advanced Configuration Examples #### Example 1: Basic Status Acceptance **Acceptance Criteria:** - Field: status - Condition: Equals - Value: reserved This configuration accepts calls only when Retreaver reserves a campaign. #### Example 2: Minimum Payout Threshold **Acceptance Criteria:** - Field: payout - Condition: Greater Than - Value: 20.00 This setup ensures calls are only accepted when the payout exceeds $20.00. #### Example 3: Campaign Validation **Acceptance Criteria:** - Field: campaign_id - Condition: Not Equals - Value: null This configuration ensures calls are only accepted when a valid campaign is matched. #### Example 4: Multiple Acceptance Criteria You can add multiple criteria to ensure both successful status and minimum payout: **Criteria 1:** - Field: status - Condition: Equals - Value: reserved **Criteria 2:** - Field: payout - Condition: Greater Than - Value: 15.00 ### Advanced Use Cases #### Multi-Publisher Strategy Configure multiple CallGrid destinations, each targeting different Retreaver publisher IDs to maximize coverage and revenue optimization. #### Campaign Performance Tracking Use campaign ID data to track performance across different Retreaver campaigns and optimize routing strategies. #### Payout Optimization Leverage payout information to route calls to campaigns offering the best revenue potential. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your RTB Key is correct and current - Ensure your Retreaver account has RTB permissions - Check that the RTB Key has not expired **Invalid Publisher ID** - Confirm your Publisher ID exists in your Retreaver account - Verify the Publisher ID is active and properly configured - Check that the ID format matches Retreaver's requirements **No Campaign Matches** - Ensure there are active campaigns in your Retreaver account - Verify campaign criteria match your call characteristics - Check that campaigns have available capacity and budget **Status Response Issues** - Monitor response status values to understand bid outcomes - Check campaign targeting settings in Retreaver - Verify call quality meets campaign requirements #### Testing the Integration **Template Configuration Test**: 1. After entering RTB Key and Publisher ID, click **Save Webhook** 2. Review the auto-generated URL and parameters **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) 2. Click **Run Webhook** to test the connection 3. Verify the bid response contains expected campaign data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful bid requests 2. Verify bid responses are being parsed correctly 3. Test call routing based on status acceptance conditions ### Best Practices #### Campaign Optimization - Monitor campaign performance metrics to optimize targeting - Ensure call quality standards meet campaign requirements - Track conversion rates across different campaigns #### Revenue Maximization - Set competitive but realistic payout thresholds - Monitor campaign availability and adjust routing accordingly - Track performance metrics to identify high-value campaigns #### Call Quality Management - Maintain high call quality standards to ensure campaign approval - Monitor call completion rates and campaign feedback - Implement quality controls to protect campaign relationships #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test the integration using the built-in webhook test feature 4. Contact CallGrid support with integration details --- ## TrackDrive Real Time Bidding Integration > he TrackDrive Real Time Bidding (RTB) integration enables you to send bid requests to TrackDrive's marketplace in real-time. Source: https://callgrid.com/knowledge-base/trackdrive-real-time-bidding-integration Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding The TrackDrive Real Time Bidding (RTB) integration enables you to send bid requests to TrackDrive's marketplace in real-time. This integration allows you to monetize your call traffic by submitting calls to TrackDrive buyers who can bid on them dynamically based on call characteristics, traffic source data, and caller information. ![](https://callgrid.com/api/media/file/TrackdriveTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active TrackDrive account with RTB permissions - Your TrackDrive subdomain information - Webhook Name from your TrackDrive account configuration - Traffic Source ID for your call traffic - Understanding of your call routing and monetization strategy ### Configuration Steps #### Step 1: Obtain TrackDrive Account Information 1. Log into your TrackDrive account 2. Navigate to your webhook or integration settings 3. Locate your **Subdomain** (your unique TrackDrive identifier) 4. Find or create a **Webhook Name** for this integration 5. Identify your **Traffic Source ID** for call tracking 6. Ensure your account has API access and RTB permissions #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Switch to **Real Time Bidding** template type 6. Select **TrackDrive** from the Real Time Bidding templates 7. Fill in the required fields: ###### Required Configuration Fields **Subdomain** _(Required)_ - Enter your TrackDrive subdomain - This is your unique identifier in the TrackDrive system - Example: yourcompany (if your TrackDrive URL is yourcompany.trackdrive.com) **Webhook Name** _(Required)_ - Enter your TrackDrive webhook name - This identifies the specific webhook endpoint for your integration - Example: callgrid-integration **Traffic Source ID** _(Required)_ - Enter your traffic source ID from TrackDrive - This identifies the source of your call traffic for tracking purposes - Example: source123 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and request structure for you. ###### Request Configuration ![](https://callgrid.com/api/media/file/TrackdriveConfig.png) **URL Structure** The webhook URL is automatically generated based on your configuration: [https://Subdomain.trackdrive.com/api/v1/inbound_webhooks/ping/webhook](https://Subdomain.trackdrive.com/api/v1/inbound_webhooks/ping/webhook) **HTTP Method** - **Method**: POST (automatically configured) - **Content-Type**: application/json (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **JSON Request Body** The integration automatically includes these parameters in the JSON payload: { "trackdrive_number": "TEMPLATE_TRACKDRIVE_NUMBER", "traffic_source_id": "SourceID", "caller_id": "[[tag:CallerId]]" } **Dynamic Parameters:** - **trackdrive_number**: Template placeholder for TrackDrive tracking number - **traffic_source_id**: Your configured Traffic Source ID - **caller_id**: Dynamic caller ID from [[tag:CallerId]] ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when bids are accepted. ![](https://callgrid.com/api/media/file/TrackDriveAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the bid response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for offer conversion payouts using the buyers.0.offer_conversion_payout field: - **Field**: buyers.0.offer_conversion_payout - **Condition**: Greater Than - **Value**: 0 This configuration accepts bids when TrackDrive responds with a conversion payout amount greater than 0. ###### Bid Response Handling **Response Field Options** Configure which fields from the TrackDrive bid response to use for acceptance: - **Property Path**: Enter the JSON path to the bid data - **Common Fields**: - buyers.0.offer_conversion_payout - The conversion payout offered for the call - buyers.0.buyer_id - ID of the buyer making the offer - buyers.0.offer_id - ID of the specific offer - buyers.0.destination_number - Phone number for call routing ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/Trackdrivetesting.png) To test your integration: 1. Fill in your **Subdomain**, **Webhook Name**, and **Traffic Source ID** 2. In the webhook testing section, provide test values: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) 3. Click **Run Webhook** to test the connection 4. Verify the test passes and shows a proper bid response from TrackDrive 5. Confirm the acceptance parsing works correctly with the response The built-in webhook test will send a test bid request to TrackDrive and show you whether bids would be accepted based on their response. ### How It Works #### Real-Time Bid Process The integration facilitates real-time bidding through TrackDrive's Inbound Webhooks API: 1. **Bid Request**: CallGrid sends call information to TrackDrive's ping endpoint 2. **Buyer Evaluation**: TrackDrive evaluates the call against available buyer offers 3. **Bid Response**: TrackDrive responds with buyer offers and conversion payouts 4. **Acceptance Decision**: Your system evaluates the bid response against your criteria 5. **Call Routing**: If accepted, the call is routed to the winning buyer's destination #### Bid Response Structure TrackDrive's RTB API returns bid responses in the following format: { "buyers": [ { "buyer_id": "buyer123", "offer_id": "offer456", "offer_conversion_payout": 25.50, "destination_number": "18005551234", "traffic_source_id": "source123" } ], "trackdrive_number": "tracking123", "caller_id": "5551234567", "timestamp": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Conversion Payout Acceptance **Acceptance Criteria:** - Field: buyers.0.offer_conversion_payout - Condition: Greater Than - Value: 0 This configuration accepts calls when TrackDrive offers any conversion payout. #### Example 2: Minimum Payout Threshold **Acceptance Criteria:** - Field: buyers.0.offer_conversion_payout - Condition: Greater Than - Value: 20.00 This setup ensures calls are only accepted when the conversion payout exceeds $20.00. #### Example 3: Buyer Validation **Acceptance Criteria:** - Field: buyers.0.buyer_id - Condition: Not Equals - Value: null This configuration ensures calls are only accepted when a valid buyer is matched. #### Example 4: Multiple Acceptance Criteria You can add multiple criteria to ensure both valid buyers and minimum payouts: **Criteria 1:** - Field: buyers.0.offer_conversion_payout - Condition: Greater Than - Value: 15.00 **Criteria 2:** - Field: buyers.0.destination_number - Condition: Not Equals - Value: null ### Traffic Source Management #### Traffic Source Configuration Traffic Source IDs in TrackDrive help categorize and track different sources of call traffic: - **Organic Traffic**: organic-web - **Paid Search**: google-ads, bing-ads - **Social Media**: facebook-ads, linkedin-ads - **Direct Traffic**: direct-calls - **Affiliate Traffic**: affiliate-network #### Custom Traffic Sources You can create custom traffic source IDs in TrackDrive to match your specific traffic categories and tracking requirements. ### Advanced Use Cases #### Multi-Source Strategy Configure multiple CallGrid destinations, each targeting different TrackDrive traffic sources to maximize coverage and optimize bidding strategies. #### Conversion Optimization Use conversion payout data to route calls to buyers offering the best conversion rates and highest payouts. #### Performance Tracking Leverage TrackDrive's tracking capabilities to monitor call performance and optimize traffic source strategies. ### Troubleshooting #### Common Issues **Invalid Subdomain or Webhook Name** - Verify your subdomain matches your TrackDrive account - Ensure the webhook name exists and is properly configured in TrackDrive - Check that your TrackDrive account is active and accessible **Traffic Source ID Issues** - Confirm your Traffic Source ID exists in your TrackDrive account - Verify the source ID is active and properly configured - Check that the traffic source has associated buyer offers **No Buyer Responses** - Ensure there are active buyers in your TrackDrive marketplace - Verify buyer offers are available for your traffic source - Check that call characteristics match buyer requirements **Low Conversion Payout Issues** - Review your payout thresholds to ensure they're realistic - Check TrackDrive buyer requirements and adjust call quality - Verify that your traffic source aligns with buyer preferences #### Testing the Integration **Template Configuration Test**: 1. After entering all required fields, click **Save Webhook** 2. Review the auto-generated URL and JSON payload structure **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) 2. Click **Run Webhook** to test the connection 3. Verify the bid response contains expected buyer data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful bid requests 2. Verify bid responses are being parsed correctly 3. Test call routing based on conversion payout acceptance conditions ### Best Practices #### Traffic Source Optimization - Use descriptive traffic source IDs that clearly identify your call sources - Monitor performance metrics for different traffic sources - Adjust traffic source strategies based on buyer response patterns #### Revenue Optimization - Set competitive but realistic conversion payout thresholds - Track performance metrics across different buyers and offers - Monitor conversion rates to optimize call routing decisions #### Call Quality Management - Maintain high call quality standards to ensure buyer satisfaction - Monitor call completion rates and buyer feedback - Implement quality controls to protect marketplace relationships #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test the integration using the built-in webhook test feature 4. Contact CallGrid support with integration details --- ## Phonexa Real Time Bidding Integration > he Phonexa Real Time Bidding (RTB) integration enables you to send bid requests to Phonexa's lead marketplace in real-time. Source: https://callgrid.com/knowledge-base/phonexa-real-time-bidding-integration Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding The Phonexa Real Time Bidding (RTB) integration enables you to send bid requests to Phonexa's lead marketplace in real-time. This integration allows you to monetize your call traffic by submitting leads to Phonexa buyers who can bid on them dynamically based on contact information, geographic data, and demographic details. ![](https://callgrid.com/api/media/file/PhonexaTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Phonexa account with RTB permissions - Your Phonexa account ID and subdomain information - Product ID from your Phonexa account - API password or template password for authentication - Understanding of your lead generation and monetization strategy ### Configuration Steps #### Step 1: Obtain Phonexa Account Information 1. Log into your Phonexa account 2. Navigate to your account settings or API configuration 3. Locate your **Account ID** (numeric identifier) 4. Note your **Subdomain** (your unique Phonexa identifier) 5. Find the **Product ID** for the product/vertical you want to submit leads to 6. Generate or locate your API password (template password) #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Switch to **Real Time Bidding** template type 6. Select **Phonexa** from the Real Time Bidding templates 7. Fill in the required fields: ###### Required Configuration Fields **ID** _(Required)_ - Enter your Phonexa account ID - This is your numeric account identifier in the Phonexa system - Example: 123456 **Subdomain** _(Required)_ - Enter your Phonexa subdomain - This is your unique identifier for your Phonexa instance - Example: yourcompany (if your Phonexa URL is yourcompany.phonexa.com) **Product ID** _(Required)_ - Enter the Product ID from your Phonexa account - This identifies which product/vertical will receive your leads - Example: 789012 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and request structure for you. ###### Request Configuration ![](https://callgrid.com/api/media/file/PhonexaConfig.png) **URL Structure** The webhook URL is automatically generated based on your configuration: [https://Subdomain.phonexa.com/lead/](https://Subdomain.phonexa.com/lead/) **HTTP Method** - **Method**: POST (automatically configured) - **Content-Type**: application/x-www-form-urlencoded (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **Form Body Parameters** The integration automatically includes these form parameters with dynamic values: apiID=ID&apiPassword=TEMPLATE_PASSWORD&productId=ID&price=0&firstName=[[tag:ContactFirstName]]&lastName=[[tag:ContactLastName]]&email=[[tag:ContactEmail]]&zip=[[tag:InboundZip]]&dob=[[tag:ContactDOB]]&state=[[tag:InboundState]]&phoneNumber=[[tag:InboundNumber]] **Dynamic Parameters Included:** - **ContactFirstName**: Lead's first name - **ContactLastName**: Lead's last name - **ContactEmail**: Lead's email address - **InboundZip**: Lead's zip code - **ContactDOB**: Lead's date of birth - **InboundState**: Lead's state - **InboundNumber**: Lead's phone number ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when bids are accepted. ![](https://callgrid.com/api/media/file/PhonexaAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the bid response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for bid amounts using the bid field: - **Field**: bid - **Condition**: Greater Than - **Value**: 0 This configuration accepts bids when Phonexa responds with a bid amount greater than 0. ###### Bid Response Handling **Response Field Options** Configure which fields from the Phonexa bid response to use for acceptance: - **Property Path**: Enter the JSON path to the bid data - **Common Fields**: - bid - The bid amount offered for the lead - status - Response status indicating bid acceptance - leadId - The Phonexa lead ID if accepted - message - Additional information about the bid ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/PhonexaTesting.png) To test your integration: 1. Fill in your **ID**, **Subdomain**, and **Product ID** 2. In the webhook testing section, provide test values for all contact fields: - **tag:ContactFirstName**: Enter a test first name (e.g., John) - **tag:ContactLastName**: Enter a test last name (e.g., Smith) - **tag:ContactEmail**: Enter a test email (e.g., test@example.com) - **tag:InboundZip**: Enter a test zip code (e.g., 90210) - **tag:ContactDOB**: Enter a test date of birth (e.g., 1980-01-01) - **tag:InboundState**: Enter a test state (e.g., CA) - **tag:InboundNumber**: Enter a test phone number (e.g., 5551234567) 3. Click **Run Webhook** to test the connection 4. Verify the test passes and shows a proper bid response from Phonexa 5. Confirm the acceptance parsing works correctly with the response The built-in webhook test will send a test lead to Phonexa and show you whether bids would be accepted based on their response. ### How It Works #### Real-Time Lead Submission Process The integration facilitates real-time lead submission through Phonexa's Lead API: 1. **Lead Submission**: CallGrid sends complete lead information to Phonexa's lead endpoint 2. **Lead Evaluation**: Phonexa evaluates the lead against buyer criteria and requirements 3. **Bid Response**: Phonexa responds with bid information and acceptance status 4. **Acceptance Decision**: Your system evaluates the bid response against your criteria 5. **Lead Processing**: If accepted, the lead is processed and routed to the winning buyer #### Bid Response Structure Phonexa's RTB API returns bid responses in the following format: { "bid": 25.50, "status": "accepted", "leadId": "PX123456789", "message": "Lead accepted successfully", "productId": "789012", "timestamp": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Bid Acceptance **Acceptance Criteria:** - Field: bid - Condition: Greater Than - Value: 0 This configuration accepts leads when Phonexa offers any bid amount. #### Example 2: Minimum Bid Threshold **Acceptance Criteria:** - Field: bid - Condition: Greater Than - Value: 20.00 This setup ensures leads are only accepted when the bid exceeds $20.00. #### Example 3: Status-Based Acceptance **Acceptance Criteria:** - Field: status - Condition: Equals - Value: accepted This configuration accepts bids based on Phonexa's status response. #### Example 4: Multiple Acceptance Criteria You can add multiple criteria to ensure both successful status and minimum bid: **Criteria 1:** - Field: status - Condition: Equals - Value: accepted **Criteria 2:** - Field: bid - Condition: Greater Than - Value: 15.00 ### Lead Data Requirements #### Required Fields All the following fields are automatically included in the form submission: - **firstName**: Lead's first name - **lastName**: Lead's last name - **email**: Lead's email address - **zip**: Lead's zip code - **dob**: Lead's date of birth - **state**: Lead's state - **phoneNumber**: Lead's phone number #### Data Format Requirements - **Date of Birth**: Use YYYY-MM-DD format (e.g., 1980-01-01) - **Phone Number**: Use 10-digit format without formatting (e.g., 5551234567) - **State**: Use 2-letter state codes (e.g., CA, NY, FL) - **Zip Code**: Use 5-digit zip codes (e.g., 90210) ### Advanced Use Cases #### Multi-Product Strategy Configure multiple CallGrid destinations, each targeting different Phonexa products to maximize coverage across various verticals. #### Lead Quality Optimization Ensure lead data quality meets Phonexa buyer requirements for better acceptance rates and higher bids. #### Geographic Targeting Leverage geographic data (zip code and state) to route leads to buyers optimized for specific regions. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your API ID and password are correct - Ensure your Phonexa account is active and has API access - Check that the API password has not expired **Invalid Product ID** - Confirm your Product ID exists in your Phonexa account - Verify the Product ID is active and accepting leads - Check that the product is properly configured for your account **Lead Rejection Issues** - Verify all required lead fields are being populated correctly - Check that lead data meets Phonexa quality requirements - Ensure date formats and field formats are correct **Low Bid Issues** - Review lead quality to ensure it meets buyer standards - Check that geographic targeting aligns with buyer preferences - Verify that lead data is complete and accurate #### Testing the Integration **Template Configuration Test**: 1. After entering all required fields, click **Save Webhook** 2. Review the auto-generated URL and form parameters **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values for all contact fields: - **tag:ContactFirstName**: John - **tag:ContactLastName**: Smith - **tag:ContactEmail**: [test@example.com](mailto:test@example.com) - **tag:InboundZip**: 90210 - **tag:ContactDOB**: 1980-01-01 - **tag:InboundState**: CA - **tag:InboundNumber**: 5551234567 2. Click **Run Webhook** to test the connection 3. Verify the bid response contains expected data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful lead submissions 2. Verify bid responses are being parsed correctly 3. Test lead routing based on bid acceptance conditions ### Best Practices #### Lead Quality Management - Ensure all required fields are populated with accurate data - Validate email addresses and phone numbers before submission - Use consistent data formatting across all leads #### Revenue Optimization - Set competitive but realistic bid thresholds - Track performance metrics across different products - Monitor lead acceptance rates and adjust quality controls #### Data Privacy and Compliance - Ensure compliance with data privacy regulations (GDPR, CCPA, etc.) - Implement proper consent mechanisms for lead data collection - Maintain secure handling of personal information #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test the integration using the built-in webhook test feature 4. Contact CallGrid support with integration details ## --- ## Marchex Real Time Bidding Integration > The Marchex Real Time Bidding (RTB) integration enables you to send bid requests to Marchex's marketplace in real-time. Source: https://callgrid.com/knowledge-base/marchex-real-time-bidding-integration Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding The Marchex Real Time Bidding (RTB) integration enables you to send bid requests to Marchex's marketplace in real-time. This integration allows you to monetize your call traffic by submitting calls to Marchex buyers who can bid on them dynamically based on call characteristics, search terms, and geographic targeting criteria. ![](https://callgrid.com/api/media/file/MarchxTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Marchex account with RTB permissions - Your Marchex Partner ID from your account - Understanding of search terms and types relevant to your call traffic - Knowledge of your call routing and monetization strategy ### Configuration Steps #### Step 1: Obtain Marchex Account Information 1. Log into your Marchex account 2. Navigate to your partner/publisher settings 3. Locate your **Partner ID** (unique identifier for your account) 4. Identify the **Search Terms** that best describe your call traffic 5. Determine the appropriate **Search Type** for your campaigns #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Switch to **Real Time Bidding** template type 6. Select **Marchex** from the Real Time Bidding templates 7. Fill in the required fields: ###### Required Configuration Fields **Partner ID** _(Required)_ - Enter your Marchex Partner ID - This is your unique identifier in the Marchex system - Example: 123456789 **Search Term** _(Required)_ - Enter the search term that best describes your call traffic - This helps Marchex match your calls to appropriate buyers - Example: auto insurance, home loans, legal services **Search Type** _(Required)_ - Enter the search type category for your calls - This defines the vertical or industry category - Example: insurance, finance, legal, healthcare 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and request structure for you. ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: ![](https://callgrid.com/api/media/file/MarchxConfig.png) https://services.marchex.com/mcm/listings?partnerId=PartnerID&searchType=Type&searchTerm=Term&radius=50&zip=[[tag:InboundZipCode]] **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **URL Parameters** The integration automatically includes these query parameters: - **partnerId**: Your Marchex Partner ID - **searchType**: The search type category - **searchTerm**: The search term for your calls - **radius**: Search radius (default 50 miles) - **zip**: Dynamic zip code from [[tag:InboundZipCode]] ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when bids are accepted. ![](https://callgrid.com/api/media/file/MarchexAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the bid response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for publisher payouts using the 0.publisherPayout field: - **Field**: 0.publisherPayout - **Condition**: Greater Than - **Value**: 0 This configuration accepts bids when Marchex responds with a publisher payout amount greater than 0. ###### Bid Response Handling **Response Field Options** Configure which fields from the Marchex bid response to use for acceptance: - **Property Path**: Enter the JSON path to the bid data - **Common Fields**: - 0.publisherPayout - The payout amount offered for the call - 0.phoneNumber - Phone number where the call should be routed - 0.listingId - The Marchex listing that accepted the bid - 0.businessName - Name of the business receiving the call ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/Marchxwebhook.png) To test your integration: 1. Fill in your **Partner ID**, **Search Term**, and **Search Type** 2. In the webhook testing section, provide test values: - **tag:InboundZipCode**: Enter a test zip code (e.g., 90210) 3. Click **Run Webhook** to test the connection 4. Verify the test passes and shows a proper bid response from Marchex 5. Confirm the acceptance parsing works correctly with the response The built-in webhook test will send a test bid request to Marchex and show you whether bids would be accepted based on their response. ### How It Works #### Real-Time Bid Process The integration facilitates real-time bidding through Marchex's MCM (Marchex Call Marketplace) system: 1. **Bid Request**: CallGrid sends call information to Marchex's listings API 2. **Marketplace Evaluation**: Marchex evaluates the call against available listings 3. **Bid Response**: Marchex responds with available listings and payout information 4. **Acceptance Decision**: Your system evaluates the bid response against your criteria 5. **Call Routing**: If accepted, the call is routed to the Marchex destination #### Bid Response Structure Marchex's RTB API returns bid responses in the following format: [ { "listingId": "abc123def456", "businessName": "Example Insurance Agency", "phoneNumber": "18005551234", "publisherPayout": 25.50, "searchTerm": "auto insurance", "searchType": "insurance", "zipCode": "90210", "radius": 50 } ] ### Advanced Configuration Examples #### Example 1: Basic Payout Acceptance **Acceptance Criteria:** - Field: 0.publisherPayout - Condition: Greater Than - Value: 0 This configuration accepts calls when Marchex offers any payout amount. #### Example 2: Minimum Payout Threshold **Acceptance Criteria:** - Field: 0.publisherPayout - Condition: Greater Than - Value: 20.00 This setup ensures calls are only accepted when the payout exceeds $20.00. #### Example 3: Business Name Validation **Acceptance Criteria:** - Field: 0.businessName - Condition: Not Equals - Value: null This configuration ensures calls are only accepted when a valid business is matched. #### Example 4: Multiple Acceptance Criteria You can add multiple criteria to ensure both valid listings and minimum payouts: **Criteria 1:** - Field: 0.publisherPayout - Condition: Greater Than - Value: 15.00 **Criteria 2:** - Field: 0.phoneNumber - Condition: Not Equals - Value: null ### Search Term Optimization #### Popular Search Terms by Vertical **Insurance:** - auto insurance - home insurance - life insurance - health insurance **Finance:** - personal loans - mortgage - debt consolidation - credit repair **Legal:** - personal injury - divorce lawyer - criminal defense - bankruptcy **Healthcare:** - weight loss - addiction treatment - mental health - physical therapy #### Search Type Categories - insurance - All insurance-related calls - finance - Financial services and lending - legal - Legal services and attorneys - healthcare - Medical and wellness services - home improvement - Contractors and home services - automotive - Auto services and dealerships ### Advanced Use Cases #### Multi-Vertical Strategy Configure multiple CallGrid destinations, each targeting different search terms and types to maximize coverage across various verticals. #### Geographic Optimization Leverage the automatic zip code parameter to route calls to businesses optimized for specific geographic regions. #### Payout Optimization Use payout thresholds to ensure calls are only routed when they meet your minimum revenue requirements. ### Troubleshooting #### Common Issues **Invalid Partner ID** - Verify your Partner ID is correct and matches your Marchex account - Ensure your Marchex account is active and has RTB permissions - Check that the Partner ID format is correct **No Listings Returned** - Verify your search terms are relevant and commonly searched - Check that your search type matches your search term category - Ensure there are active listings in your target geographic area **Low Payout Issues** - Review your search terms to ensure they target high-value verticals - Check that your geographic targeting aligns with high-payout areas - Verify that your call quality meets Marchex buyer requirements **Geographic Targeting Problems** - Ensure zip codes are being passed correctly in the InboundZipCode tag - Verify the radius setting is appropriate for your market - Check that there are active listings in your target areas #### Testing the Integration **Template Configuration Test**: 1. After entering all required fields, click **Save Webhook** 2. Review the auto-generated URL and parameters **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values: - **tag:InboundZipCode**: Enter a test zip code (e.g., 90210) 2. Click **Run Webhook** to test the connection 3. Verify the bid response contains expected listing data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful bid requests 2. Verify bid responses are being parsed correctly 3. Test call routing based on payout acceptance conditions ### Best Practices #### Search Term Strategy - Use specific, high-intent search terms for better payout rates - Test different search terms to find optimal performance - Monitor search term performance and adjust based on results #### Geographic Targeting - Consider population density when setting radius parameters - Test different geographic markets to maximize revenue - Monitor geographic performance to identify high-value areas #### Revenue Optimization - Set competitive but realistic payout thresholds - Track performance metrics across different verticals - Adjust search terms and types based on marketplace demand #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test the integration using the built-in webhook test feature 4. Contact CallGrid support with integration details --- ## Leadspedia Real Time Bidding Integration > The Leadspedia Real Time Bidding (RTB) integration enables you to send bid requests to Leadspedia's campaign marketplace in real-time. Source: https://callgrid.com/knowledge-base/leadspedia-real-time-bidding-integration Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding The Leadspedia Real Time Bidding (RTB) integration enables you to send bid requests to Leadspedia's campaign marketplace in real-time. This integration allows you to monetize your call traffic by submitting calls to Leadspedia buyers who can bid on them dynamically based on call characteristics, geographic data, and current campaign requirements. ![](https://callgrid.com/api/media/file/LeadspediaTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Leadspedia account with RTB permissions - Your Leadspedia subdomain information - Campaign ID from your Leadspedia account - Campaign Key (authentication token) from Leadspedia - Understanding of your call routing and monetization strategy ### Configuration Steps #### Step 1: Obtain Leadspedia Campaign Credentials 1. Log into your Leadspedia account 2. Navigate to your campaign management section 3. Locate the campaign you want to send bid requests to 4. Note the **Campaign ID** (numeric identifier) 5. Generate or locate your **Campaign Key** (authentication token) 6. Identify your **Subdomain** (your unique Leadspedia identifier) #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Switch to **Real Time Bidding** template type 6. Select **Leadspedia** from the Real Time Bidding templates 7. Fill in the required fields: ###### Required Configuration Fields **Subdomain** _(Required)_ - Enter your Leadspedia subdomain - This is your unique identifier in the Leadspedia system - Example: yourcompany (if your Leadspedia URL is yourcompany.leadspediatrack.com) **Campaign ID** _(Required)_ - Enter the Campaign ID from your Leadspedia account - This identifies which campaign will receive your bid requests - Example: 12345678 **Campaign Key** _(Required)_ - Enter your Campaign Key (authentication token) from Leadspedia - This authenticates your requests to the Leadspedia RTB system - Example: abc123def456ghi789jkl012 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and request structure for you. ![](https://callgrid.com/api/media/file/LeadspediaConfig.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: https://Subdomain.leadspediatrack.com/call-preping.do?lp_campaign_id=CampaignID&lp_campaign_key=CampaignKey&caller_id=[[tag:CallerId]]&zip_code=[[tag:InboundZipCode]] **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **URL Parameters** The integration automatically includes these query parameters: - **lp_campaign_id**: Your Leadspedia Campaign ID - **lp_campaign_key**: Your Campaign Key for authentication - **caller_id**: Dynamic caller ID from [[tag:CallerId]] - **zip_code**: Dynamic zip code from [[tag:InboundZipCode]] ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when bids are accepted. ![](https://callgrid.com/api/media/file/LeadspediaAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the bid response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for bid payouts using the payout field: - **Field**: payout - **Condition**: Greater Than - **Value**: 0 This configuration accepts bids when Leadspedia responds with a payout amount greater than 0. ###### Bid Response Handling **Response Field Options** Configure which fields from the Leadspedia bid response to use for acceptance: - **Property Path**: Enter the JSON path to the bid data - **Common Fields**: - payout - The payout amount offered for the call - destination - Phone number where the call should be routed - campaign_id - The Leadspedia campaign that accepted the bid - status - Response status indicating bid acceptance ###### Testing Your Configuration To test your integration: 1. Fill in your **Subdomain**, **Campaign ID**, and **Campaign Key** 2. In the webhook testing section, provide test values: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) - **tag:InboundZipCode**: Enter a test zip code (e.g., 90210) 3. Click **Run Webhook** to test the connection 4. Verify the test passes and shows a proper bid response from Leadspedia 5. Confirm the acceptance parsing works correctly with the response The built-in webhook test will send a test bid request to Leadspedia and show you whether bids would be accepted based on their response. ### How It Works #### Real-Time Bid Process The integration facilitates real-time bidding through Leadspedia's RTB system: 1. **Bid Request**: CallGrid sends call information to your specified Leadspedia campaign 2. **Campaign Evaluation**: Leadspedia evaluates the call against campaign criteria 3. **Bid Response**: Leadspedia responds with payout information and routing details 4. **Acceptance Decision**: Your system evaluates the bid response against your criteria 5. **Call Routing**: If accepted, the call is routed to Leadspedia's destination #### Bid Response Structure Leadspedia's RTB API returns bid responses in the following format: { "payout": 25.50, "destination": "18005551234", "campaign_id": "12345678", "status": "accepted", "caller_id": "15551234567", "zip_code": "90210", "timestamp": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Payout Acceptance **Acceptance Criteria:** - Field: payout - Condition: Greater Than - Value: 0 This configuration accepts calls when Leadspedia offers any payout amount. #### Example 2: Minimum Payout Threshold **Acceptance Criteria:** - Field: payout - Condition: Greater Than - Value: 20.00 This setup ensures calls are only accepted when the payout exceeds $20.00. #### Example 3: Status-Based Acceptance **Acceptance Criteria:** - Field: status - Condition: Equals - Value: accepted This configuration accepts bids based on Leadspedia's status response. #### Example 4: Multiple Acceptance Criteria You can add multiple criteria to ensure both successful status and minimum payout: **Criteria 1:** - Field: status - Condition: Equals - Value: accepted **Criteria 2:** - Field: payout - Condition: Greater Than - Value: 15.00 ### Advanced Use Cases #### Multi-Campaign Strategy Configure multiple CallGrid destinations, each targeting different Leadspedia campaigns to maximize bid competition and revenue. #### Geographic Optimization Leverage the automatic zip code parameter to route calls to campaigns optimized for specific geographic regions. #### Payout Optimization Use payout thresholds to ensure calls are only routed when they meet your minimum revenue requirements. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your Campaign Key is correct and current - Ensure your Leadspedia account is active and has RTB permissions - Check that the Campaign ID exists and is properly configured **Invalid Subdomain** - Confirm your subdomain matches your Leadspedia account - Verify the subdomain is spelled correctly - Check that your Leadspedia account is accessible **No Bid Responses** - Ensure your Leadspedia campaign is active and accepting calls - Verify the campaign has budget and capacity available - Check that your call types match the campaign's buying criteria **Low Payout Issues** - Review your payout thresholds to ensure they're realistic - Check Leadspedia's campaign requirements and adjust call quality - Verify that your geographic targeting aligns with campaign needs #### Testing the Integration **Template Configuration Test**: 1. After entering all required fields, click **Save Webhook** 2. Review the auto-generated URL and parameters **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) - **tag:InboundZipCode**: Enter a test zip code (e.g., 90210) 2. Click **Run Webhook** to test the connection 3. Verify the bid response contains expected payout data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful bid requests 2. Verify bid responses are being parsed correctly 3. Test call routing based on payout acceptance conditions ### Best Practices #### Campaign Optimization - Monitor payout trends and adjust thresholds accordingly - Test different geographic markets to maximize revenue - Ensure consistent call quality to maintain campaign performance #### Revenue Maximization - Set competitive but realistic payout thresholds - Track performance metrics across different campaigns - Adjust routing strategies based on campaign response patterns #### Call Quality Management - Maintain high call quality standards to ensure campaign approval - Monitor call completion rates and buyer feedback - Implement quality controls to protect campaign relationships #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test the integration using the built-in webhook test feature 4. Contact CallGrid support with integration details --- ## CallGrid Real Time Call Bidding Integration > The CallGrid Real Time Call Bidding (RTB) integration enables you to send bid requests to other CallGrid customers or partners in real-time. Source: https://callgrid.com/knowledge-base/callgrid-real-time-call-bidding-integration Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding The CallGrid Real Time Call Bidding (RTB) integration enables you to send bid requests to other CallGrid customers or partners in real-time. This integration allows you to monetize your call traffic by sending calls to buyers who can bid on them dynamically based on call characteristics and current market conditions. ![](https://callgrid.com/api/media/file/CallGridTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active CallGrid account with real-time bidding permissions - The Grid ID of the CallGrid customer you want to send bids to - Understanding of your call routing and monetization strategy - Appropriate call volume and quality metrics ### Configuration Steps #### Step 1: Obtain Grid ID from Buyer 1. Contact the CallGrid customer you want to send bid requests to 2. Request their Grid ID for real-time bidding integration 3. Verify that they are set up to receive and process bid requests 4. Confirm the types of calls they are interested in purchasing #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Switch to **Real Time Bidding** template type 6. Select **CallGrid** from the Real Time Bidding templates 7. Fill in the required field: ###### Required Configuration Fields **Grid ID** _(Required)_ - Enter the Grid ID of the CallGrid customer you want to send bids to - This identifies which CallGrid account will receive your bid requests - Example: abc123-def456-ghi789 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and request structure for you. ###### ![](https://callgrid.com/api/media/file/CallgridConfigpng.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on the Grid ID: [https://bid.callgrid.com/api/bid/GridID](https://bid.callgrid.com/api/bid/GridID) **HTTP Method** - **Method**: POST (automatically configured) - **Content-Type**: application/json (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### JSON Request Body The integration automatically includes dynamic call parameters in the POST body: { "CallerId": "[[tag:CallerId]]", "InboundStateCode": "[[tag:InboundStateCode]]" } These parameters provide essential call information to the receiving CallGrid customer for bid evaluation. ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when bids are accepted. ![](https://callgrid.com/api/media/file/CallGridAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the bid response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for successful bid responses using the code field: - **Field**: code - **Condition**: Equals - **Value**: 1000 This configuration accepts bids when the receiving CallGrid customer responds with a successful bid code (1000). ###### Bid Response Handling **Response Field Options** Configure which fields from the CallGrid bid response to use for acceptance: - **Property Path**: Enter the JSON path to the bid data - **Common Fields**: - code - Response code indicating bid status - bid_amount - The bid amount offered for the call - destination - Where the call should be routed if accepted - message - Additional information about the bid ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/CallGridTesting.png) To test your integration: 1. Fill in the **Grid ID** in the configuration box 2. Provide test values for **tag:CallerId** and **tag:InboundStateCode** 3. Click **Run Webhook** button to test the connection 4. Verify the test passes and shows a proper bid response 5. Confirm the acceptance parsing works correctly with the response The webhook test will send a test bid request to the specified CallGrid customer and show you whether bids would be accepted based on their response. ### How It Works #### Real-Time Bid Process The integration facilitates real-time bidding through CallGrid's RTB system: 1. **Bid Request**: CallGrid sends call information to the specified Grid ID 2. **Bid Evaluation**: The receiving customer evaluates the call and responds with a bid 3. **Acceptance Decision**: Your system evaluates the bid response against your criteria 4. **Call Routing**: If accepted, the call is routed to the winning bidder's destination #### Bid Response Structure CallGrid's RTB API returns bid responses in the following format: { "code": 1000, "message": "Bid accepted", "bid_amount": 25.50, "destination": "12125551234", "caller_id": "15551234567", "state_code": "CA", "timestamp": "2025-09-23T15:30:00Z" } ### Response Codes #### Common Response Codes - **1000**: Bid accepted - Call should be routed to the bidder - **2000**: Bid declined - Bidder does not want this call - **3000**: No capacity - Bidder cannot handle calls at this time - **4000**: Invalid request - Problem with the bid request format - **5000**: System error - Technical issue with the bidder's system ### Advanced Configuration Examples #### Example 1: Basic Bid Acceptance **Acceptance Criteria:** - Field: code - Condition: Equals - Value: 1000 This configuration accepts calls only when the bidder responds with a successful bid code. #### Example 2: Minimum Bid Amount **Acceptance Criteria:** - Field: bid_amount - Condition: Greater Than - Value: 20.00 This setup ensures calls are only accepted when the bid amount exceeds $20.00. #### Example 3: Multiple Acceptance Criteria You can add multiple criteria to ensure both successful bids and minimum amounts: **Criteria 1:** - Field: code - Condition: Equals - Value: 1000 **Criteria 2:** - Field: bid_amount - Condition: Greater Than - Value: 15.00 #### Example 4: Message-Based Filtering **Acceptance Criteria:** - Field: message - Condition: Contains - Value: accepted This configuration accepts bids based on message content confirmation. ### Advanced Use Cases #### Multi-Buyer Strategy Configure multiple CallGrid destinations, each targeting different Grid IDs to maximize bid competition and revenue. #### Call Quality Optimization Use bid responses to route high-quality calls to premium buyers who offer better rates. #### Geographic Targeting Leverage the automatic state code parameter to route calls to buyers specialized in specific geographic regions. ### Troubleshooting #### Common Issues **Invalid Grid ID** - Verify the Grid ID is correct and belongs to an active CallGrid customer - Confirm the receiving customer has RTB enabled and configured - Check that the Grid ID format matches CallGrid's requirements **No Bid Responses** - Ensure the receiving CallGrid customer is actively accepting bids - Verify their system is properly configured to handle bid requests - Check that your call types match their buying criteria **Bid Rejection Issues** - Review your acceptance criteria to ensure they're not too restrictive - Check the bid response codes to understand why bids are being declined - Verify that bid amounts meet your minimum requirements **Connection Timeouts** - Check network connectivity to CallGrid's bidding platform - Verify the receiving customer's system is responding within timeout limits - Consider adjusting timeout settings if needed #### Testing the Integration **Template Configuration Test**: 1. After entering Grid ID, click **Save Webhook** 2. Review the auto-generated URL and request structure **Built-in Webhook Test**: 1. In the advanced configuration screen, provide test values for variables: - **tag:CallerId**: Enter a test phone number (e.g., 5551234567) - **tag:InboundStateCode**: Enter a test state code (e.g., CA) 2. Click **Run Webhook** to test the connection 3. Verify the bid response contains expected data 4. Test different acceptance criteria using the webhook test feature **Live Integration Test**: 1. Monitor CallGrid logs for successful bid requests 2. Verify bid responses are being parsed correctly 3. Test call routing based on bid acceptance conditions ### Best Practices #### Bid Request Optimization - Include relevant call metadata to help buyers make informed decisions - Ensure call quality metrics are accurate and up-to-date - Provide consistent call volume to maintain buyer relationships #### Response Handling - Set appropriate timeout values for bid responses - Implement fallback routing for declined bids - Monitor bid acceptance rates and adjust criteria as needed #### Revenue Optimization - Test different minimum bid amounts to optimize revenue - Track performance metrics for different buyers - Adjust routing strategies based on buyer response patterns #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## RingCentral Agent Availability Integration > The RingCentral integration enables CallGrid to receive real-time agent availability updates from your RingCentral call queue environment. Source: https://callgrid.com/knowledge-base/ringcentral-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The RingCentral integration enables CallGrid to receive real-time agent availability updates from your RingCentral call queue environment. This integration uses RingCentral's REST API to monitor call queue presence and route calls intelligently based on current agent availability and queue capacity. ![](https://callgrid.com/api/media/file/RingCentralTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active RingCentral account with administrative privileges - Access to your RingCentral Admin Portal - A generated OAuth2 Bearer Authentication Token from your RingCentral account - Your specific Call Queue Group ID and Account ID ### Configuration Steps #### Step 1: Generate OAuth2 Bearer Authentication Token 1. Log into your RingCentral Developer Console 2. Create or access your RingCentral application 3. Generate OAuth2 credentials with appropriate permissions: - **ReadCallQueues** permission for call queue access - **ReadPresence** permission for agent presence data 4. Use the OAuth2 flow to obtain a Bearer token 5. Copy the token securely (you'll need this for the integration) #### Step 2: Identify Your Account ID and Call Queue Group ID **Account ID:** 1. In your RingCentral Admin Portal, note your account identifier 2. Use ~ for the current account (recommended) or specify your numeric account ID 3. Example: ~ (current account) or 123456789 **Call Queue Group ID:** 1. Navigate to **Groups & Users** → **Call Queues** in your RingCentral Admin Portal 2. Select the call queue you want to monitor for agent availability 3. Note the Call Queue Group ID from the queue details 4. This ID identifies which queue to monitor for agent presence #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **RingCentral** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **Call Queue Group ID** _(Required)_ - Enter your RingCentral call queue group ID - This identifies which call queue to monitor for agent availability - Example: 987654321 **Account ID** _(Required)_ - Enter your RingCentral account ID - Use ~ for the current account or specify your numeric account ID - Example: ~ (recommended) or 123456789 **Bearer Authentication Token** _(Required)_ - Paste your RingCentral OAuth2 Bearer authentication token - This token authenticates your requests to RingCentral's REST API - Example: Bearer abc123def456ghi789jkl012mno345 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ![](https://callgrid.com/api/media/file/RingCentralAdvanced.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: [https://platform.ringcentral.com/restapi/v1.0/account/AccountID/call-queues/GroupID/presence](https://platform.ringcentral.com/restapi/v1.0/account/AccountID/call-queues/GroupID/presence) **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### Authentication Headers The system automatically configures the Authorization header: - **Key**: Authorization - **Value**: Bearer Token (your OAuth2 Bearer token) ###### Acceptance Parsing The integration supports advanced Regex pattern matching for call queue presence data. ![](https://callgrid.com/api/media/file/RingCentralAP.png) **Parsing Type** - **Parse Type**: Regex (automatically configured for optimal performance) - **Regex Type**: Count - **Pattern**: "acceptCurrentQueueCalls": true **Default Acceptance Criteria** The system is pre-configured to count agents accepting current queue calls: - **Regex Type**: Count - **Pattern**: "acceptCurrentQueueCalls": true - **Condition**: Configure based on your requirements - **Value**: Set minimum number of available agents This configuration counts agents who are currently accepting calls for the specified queue. ###### Agent Availability Parsing **Response Field Options** Configure which fields from the RingCentral API response to use for agent availability: - **Property Path**: Enter the JSON path to the availability data - **Common Fields**: - Agent presence objects with queue acceptance status - Individual agent availability indicators - Queue-specific presence information - Real-time call acceptance status ###### Testing Your Configuration To test your integration: 1. Fill in your **Call Queue Group ID**, **Account ID**, and **Bearer Authentication Token** 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your current call queue presence data 4. Confirm the acceptance parsing works correctly with your criteria The webhook test will connect to your RingCentral system in real-time and show you whether calls would be accepted based on your current queue presence settings. ### How It Works #### Call Queue Presence Monitoring The integration monitors real-time call queue presence through RingCentral's Presence API: 1. **Real-time Polling**: CallGrid checks call queue presence before routing each call 2. **Queue-Specific Monitoring**: The system monitors the specific call queue you've configured 3. **Acceptance Status**: Uses regex patterns to identify agents accepting queue calls 4. **Smart Routing**: Calls are only sent when agent availability meets your thresholds #### API Response Structure RingCentral's Call Queue Presence API returns availability data in the following format: { "records": [ { "extension": { "id": "12345", "extensionNumber": "101" }, "acceptCurrentQueueCalls": true, "presenceStatus": "Available" }, { "extension": { "id": "12346", "extensionNumber": "102" }, "acceptCurrentQueueCalls": false, "presenceStatus": "Busy" } ], "paging": { "page": 1, "totalPages": 1, "totalElements": 2 } } ### Advanced Configuration Examples #### Example 1: Basic Queue Call Acceptance **Acceptance Criteria (Regex):** - Regex Type: Count - Pattern: "acceptCurrentQueueCalls": true - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent is accepting current queue calls. #### Example 2: Multiple Agent Threshold **Acceptance Criteria (Regex):** - Regex Type: Count - Pattern: "acceptCurrentQueueCalls": true - Condition: Greater Than - Value: 1 This setup ensures calls are accepted only when at least 2 agents are accepting queue calls. #### Example 3: Available Status with Queue Acceptance **Acceptance Criteria (Regex):** - Regex Type: Count - Pattern: "acceptCurrentQueueCalls": true.*"presenceStatus": "Available" - Condition: Greater Than - Value: 0 This configuration checks for agents who are both accepting queue calls and have "Available" presence status. #### Example 4: High-Volume Staffing Requirements **Acceptance Criteria (Regex):** - Regex Type: Count - Pattern: "acceptCurrentQueueCalls": true - Condition: Greater Than - Value: 2 This configuration requires at least 3 agents accepting queue calls before routing calls. ### Advanced Use Cases (Optional) #### Multi-Queue Monitoring Configure multiple CallGrid destinations, each monitoring different RingCentral call queues for specialized routing based on queue type or department. #### Presence-Based Routing Leverage RingCentral's presence system combined with queue acceptance status for intelligent call distribution. #### Extension-Specific Distribution Use extension-based routing for calls that require specific agent skills or departments within your RingCentral environment. ### OAuth2 Token Management #### Token Generation Generate Bearer tokens using RingCentral's OAuth2 flow: curl -X POST "https://platform.ringcentral.com/restapi/oauth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET" #### Token Refresh - OAuth2 tokens have expiration times - Implement token refresh logic in your application - Monitor token validity and refresh before expiration ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your OAuth2 Bearer token is current and valid - Ensure the token has proper permissions for call queue and presence access - Check that your RingCentral account is active and accessible **Invalid Account ID or Call Queue Group ID** - Confirm your Account ID exists (use ~ for current account) - Verify the Call Queue Group ID matches your RingCentral call queue - Check that the call queue is active and properly configured **No Presence Data Returned** - Ensure agents are logged into your RingCentral system - Verify agents are assigned to the specified call queue - Check that call queue presence monitoring is enabled **Regex Pattern Matching Issues** - Test your regex patterns with sample response data - Verify the pattern correctly matches the expected JSON structure - Check for case sensitivity in field values #### Testing the Integration **Manual API Test**: curl -H "Authorization: Bearer your_bearer_token_here" \ "https://platform.ringcentral.com/restapi/v1.0/account/~/call-queues/your_queue_id/presence" **Template Configuration Test**: 1. After entering all required fields, click **Save Webhook** 2. Review the auto-generated URL and authentication headers **Advanced Configuration Test**: 1. In the advanced configuration screen, click **Run Webhook** 2. Verify the API response contains expected call queue presence data 3. Test different regex patterns and acceptance criteria **Live Integration Test**: 1. Monitor CallGrid logs for successful API calls 2. Verify call queue presence data is being parsed correctly 3. Test call routing based on queue acceptance conditions ### Rate Limits and Considerations - **API Rate Limit**: Monitor usage to stay within RingCentral's rate limits - **Response Time**: Typically under 500ms for presence checks - **Data Freshness**: Real-time call queue presence updates - **Token Management**: Implement proper OAuth2 token refresh procedures ### Support and Additional Resources #### RingCentral Documentation - [RingCentral Developer Portal](https://developers.ringcentral.com/) - [REST API Reference](https://developers.ringcentral.com/api-reference) - [Call Queue Presence API](https://developers.ringcentral.com/api-reference/Presence/readCallQueuePresence) - [OAuth2 Authentication Guide](https://developers.ringcentral.com/guide/authentication) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## NICE inContact Agent Availability Integration > The NICE inContact integration enables CallGrid to receive real-time agent availability updates from your NICE inContact contact center environment. Source: https://callgrid.com/knowledge-base/nice-incontact-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The NICE inContact integration enables CallGrid to receive real-time agent availability updates from your NICE inContact contact center environment. This integration uses NICE inContact's Real-Time Data API to monitor agent skills and activity, routing calls intelligently based on current agent availability and skill-based capacity. ![](https://callgrid.com/api/media/file/NiceTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active NICE inContact account with administrative privileges - Access to your NICE inContact Admin Portal - A generated Bearer Authentication Token from your NICE inContact account - Understanding of your skill-based routing configuration ### Configuration Steps #### Step 1: Generate Bearer Authentication Token 1. Log into your NICE inContact Admin Portal 2. Navigate to **API Applications** or **API Management** 3. Create or locate your API application 4. Generate or retrieve your Bearer authentication token 5. Ensure the token has permissions for real-time data access 6. Copy the token securely (you'll need this for the integration) #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **NICE inContact** from the Agent Availability templates 6. Fill in the required field: ###### Required Configuration Fields **Bearer Authentication Token** _(Required)_ - Paste your NICE inContact API authentication token - This token authenticates your requests to NICE inContact's Real-Time Data API - Example: Bearer abc123def456ghi789jkl012mno345 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optionall) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### ![](https://callgrid.com/api/media/file/NiceAdvanced.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated: [https://api.niceincontact.com/real-time-data/skills-activity-search](https://api.niceincontact.com/real-time-data/skills-activity-search) **HTTP Method** - **Method**: POST (automatically configured) - **Content-Type**: application/json (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### Authentication Headers The system automatically configures the required headers: - **Content-Type**: application/json - **Authorization**: Bearer AuthToken (your Bearer token) ###### JSON Request Body The integration automatically includes dynamic parameters in the POST body: { "CallerId": "[[tag:CallerId]]", "InboundStateCode": "[[tag:InboundStateCode]]" } These parameters allow NICE inContact to provide contextual availability information based on the specific call details and caller location. ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. ![](https://callgrid.com/api/media/file/NiceAP.png) **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the API response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for available agents using the agentsAvailable field: - **Field**: agentsAvailable - **Condition**: Greater Than - **Value**: 0 This configuration accepts calls only when at least one agent is available with the required skills. ###### Agent Availability Parsing **Response Field Options** Configure which fields from the NICE inContact API response to use for agent availability: - **Property Path**: Enter the JSON path to the availability data - **Common Fields**: - agentsAvailable - Number of agents available with matching skills - skillsMatched - Array of skills that match the call requirements - totalAgents - Total number of agents logged in - queueTime - Current average queue time for skills ###### Testing Your Configuration To test your integration: 1. Fill in your **Bearer Authentication Token** in the configuration box 2. Provide test values for **tag:CallerId** and **tag:InboundStateCode** 3. Click **Run Webhook** button to test the connection 4. Verify the test passes and shows your current skills activity data 5. Confirm the acceptance parsing works correctly with your criteria The webhook test will connect to your NICE inContact system in real-time and show you whether calls would be accepted based on your current agent skills availability. ### How It Works #### Skills-Based Agent Monitoring The integration monitors real-time agent skills and activity through NICE inContact's Real-Time Data API: 1. **Dynamic Skill Matching**: CallGrid sends caller information to determine skill requirements 2. **Real-time Availability**: The system checks for agents with matching skills who are available 3. **Context-Aware Routing**: Uses caller ID and state for intelligent skill-based routing 4. **Activity-Based Decisions**: Routes calls based on current agent activity and availability #### API Response Structure NICE inContact's Skills Activity Search API returns availability data in the following format: { "agentsAvailable": 3, "skillsMatched": [ { "skillId": 12345, "skillName": "Customer Service", "agentsAvailable": 2, "queueTime": 45 }, { "skillId": 12346, "skillName": "Technical Support", "agentsAvailable": 1, "queueTime": 120 } ], "totalAgents": 15, "callerId": "5551234567", "stateCode": "CA", "timestamp": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Agent Availability **Acceptance Criteria:** - Field: agentsAvailable - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent is available with matching skills. #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Field: agentsAvailable - Condition: Greater Than - Value: 1 This setup ensures calls are accepted only when at least 2 agents are available with the required skills. #### Example 3: Queue Time Consideration **Acceptance Criteria:** - Field: skillsMatched[0].queueTime - Condition: Less Than - Value: 180 This configuration accepts calls only when the average queue time is less than 3 minutes. #### Example 4: Skill-Specific Availability **Acceptance Criteria:** - Field: skillsMatched - Condition: Greater Than - Value: 0 This configuration ensures calls are accepted only when specific skills are matched and available. ### Advanced Use Cases #### Geographic Skill Routing Leverage the automatic state parameter to route calls to agents with geographic-specific skills or knowledge. #### Multi-Skill Prioritization Configure multiple CallGrid destinations, each targeting different NICE inContact skills for specialized routing. #### Performance-Based Distribution Use skills activity data combined with queue time metrics for intelligent call distribution based on current performance. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your Bearer token is current and valid - Ensure the token has proper permissions for real-time data API access - Check that your NICE inContact account is active and accessible **No Skills Data Returned** - Ensure agents are logged into your NICE inContact system - Verify agents have the appropriate skills assigned - Check that skills-based routing is properly configured **API Connection Issues** - Verify network connectivity to NICE inContact's API endpoints - Check if there are any firewall restrictions blocking API calls - Ensure your NICE inContact instance supports the real-time data API **Parameter Parsing Errors** - Verify that CallerId and InboundStateCode tags are properly configured - Check that the dynamic parameters are being populated correctly - Test with sample values to ensure JSON body construction is working #### Testing the Integration **Manual API Test**: curl -X POST "https://api.niceincontact.com/real-time-data/skills-activity-search" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your_bearer_token_here" \ -d '{"CallerId":"5551234567","InboundStateCode":"CA"}' **Template Configuration Test**: 1. After entering Bearer token, click **Save Webhook** 2. Review the auto-generated URL and authentication headers **Advanced Configuration Test**: 1. In the advanced configuration screen, provide test values for variables 2. Click **Run Webhook** to test the connection 3. Verify the API response contains expected skills activity data 4. Test different acceptance criteria **Live Integration Test**: 1. Monitor CallGrid logs for successful API calls 2. Verify skills activity data is being parsed correctly 3. Test call routing based on skills availability conditions ### Rate Limits and Considerations - **API Rate Limit**: Monitor usage to stay within NICE inContact's rate limits - **Response Time**: Typically under 500ms for skills activity searches - **Data Freshness**: Real-time agent skills and activity updates - **Skill Complexity**: Consider the impact of complex skill matching on response times ### Support and Additional Resources #### NICE inContact Documentation - [NICE inContact Developer Portal](https://developer.niceincontact.com/) - [Real-Time Data API Documentation](https://developer.niceincontact.com/api/real-time-data) - [Skills Management Guide](https://help.niceincontact.com/content/skills/skills-overview.htm) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## Google Cloud Contact Center AI Agent Availability Integration > The Google Cloud Contact Center AI (CCAI) integration enables CallGrid to receive real-time agent availability updates from your Google Cloud CCAI environment. Source: https://callgrid.com/knowledge-base/google-cloud-contact-center-ai-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The Google Cloud Contact Center AI (CCAI) integration enables CallGrid to receive real-time agent availability updates from your Google Cloud CCAI environment. This integration uses Google Cloud CCAI's API to monitor agent statuses and route calls intelligently based on current agent availability and contact center capacity. ![](https://callgrid.com/api/media/file/GoogleTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Google Cloud Contact Center AI account with administrative privileges - Access to your Google Cloud CCAI admin console - Your Google Cloud CCAI domain and subdomain information - Proper API access permissions configured in your CCAI environment ### Configuration Steps #### Step 1: Identify Your Domain and Subdomain 1. Log into your Google Cloud Contact Center AI admin console 2. Note your CCAI domain (e.g., ccaiportal.com) 3. Identify your subdomain (the unique identifier for your CCAI instance) 4. These will be used to construct the API endpoint URL #### Step 2: Configure API Access 1. In your Google Cloud CCAI admin console, navigate to **API Settings** 2. Ensure agent status API access is enabled 3. Verify that your account has permissions to access agent status information 4. Note any authentication requirements for your CCAI instance #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **Google Cloud CCAI** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **Domain** _(Required)_ - Enter your Google Cloud CCAI domain - This is the main domain for your CCAI instance - Example: ccaiportal.com **Subdomain** _(Required)_ - Enter your Google Cloud CCAI subdomain - This is the unique identifier for your specific CCAI instance - Example: yourcompany (if your full URL is yourcompany.ccaiportal.com) 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ![](https://callgrid.com/api/media/file/GoogleAdvanced.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: [https://Subdomain.Domain/apps/api/v1/agent_statuses](https://Subdomain.Domain/apps/api/v1/agent_statuses) **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### Authentication Headers The system automatically configures the Content-Type header: - **Key**: Content-Type - **Value**: application/json ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Parsing Type** The system supports both JSON parsing and advanced Regex pattern matching: **Option 1: JSON Parsing** - **Parse Type**: JSON (standard configuration) - **Parse Field**: Configure which field from the API response to evaluate **Option 2: Regex Pattern Matching** - **Parse Type**: Regex (advanced configuration) - **Regex Type**: Count - **Pattern**: "status":"Available" The Regex option allows you to count occurrences of available agents by matching the pattern "status":"Available" in the JSON response. **Default Acceptance Criteria** Using Regex pattern matching to count available agents: - **Regex Type**: Count - **Pattern**: "status":"Available" - **Condition**: Equals or Greater Than - **Value**: Set based on your minimum agent requirements ###### Agent Availability Parsing **Response Field Options** Configure which fields from the Google Cloud CCAI API response to use for agent availability: - **Property Path**: Enter the JSON path to the availability data - **Common Fields**: - Agent status objects containing availability information - Total agent counts - Queue-specific agent statuses - Real-time presence indicators ###### Testing Your Configuration To test your integration: 1. Fill in your **Domain** and **Subdomain** in the configuration boxes 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your current agent status data 4. Confirm the acceptance parsing works correctly with your criteria The webhook test will connect to your Google Cloud CCAI system in real-time and show you whether calls would be accepted based on your current agent availability. ### How It Works #### Agent Status Monitoring The integration monitors real-time agent status through Google Cloud CCAI's Agent Status API: 1. **Real-time Polling**: CallGrid checks agent availability before routing each call 2. **Status Pattern Matching**: The system uses regex patterns to identify available agents 3. **Smart Routing**: Calls are only sent when agent availability meets your thresholds 4. **Load Management**: Helps prevent overwhelming your contact center during peak times #### API Response Structure Google Cloud CCAI's Agent Status API returns availability data in the following format: { "agents": [ { "agent_id": "agent_001", "name": "Agent Name", "status": "Available", "queue": "support", "last_updated": "2025-09-23T15:30:00Z" }, { "agent_id": "agent_002", "name": "Agent Name 2", "status": "Busy", "queue": "sales", "last_updated": "2025-09-23T15:30:00Z" } ], "total_agents": 15, "timestamp": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Available Agent Count **Acceptance Criteria (Regex):** - Regex Type: Count - Pattern: "status":"Available" - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent has "Available" status. #### Example 2: Multiple Agent Threshold **Acceptance Criteria (Regex):** - Regex Type: Count - Pattern: "status":"Available" - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are available. #### Example 3: Queue-Specific Availability **Acceptance Criteria (Regex):** - Regex Type: Count - Pattern: "queue":"support".*"status":"Available" - Condition: Greater Than - Value: 0 This configuration checks for available agents in a specific queue. #### Example 4: JSON Field-Based Parsing **Acceptance Criteria (JSON):** - Parse Type: JSON - Field: total_agents - Condition: Greater Than - Value: 5 This configuration uses direct JSON field parsing for total agent count. ### Advanced Use Cases #### Multi-Queue Monitoring Configure multiple CallGrid destinations, each monitoring different Google Cloud CCAI queues for specialized routing based on agent skills or departments. #### Pattern-Based Routing Leverage the regex pattern matching to create complex availability criteria based on multiple agent attributes. #### Real-Time Capacity Management Use agent status data to create dynamic routing rules that adapt to real-time contact center capacity. ### Troubleshooting #### Common Issues **Domain/Subdomain Configuration Errors** - Verify your domain and subdomain are correct - Ensure the constructed URL matches your actual CCAI instance URL - Check that your CCAI instance is accessible from external systems **API Access Issues** - Confirm API access is enabled in your Google Cloud CCAI settings - Verify that your account has permissions to access agent status data - Check that the agent status API endpoint is active **No Agent Data Returned** - Ensure agents are logged into your Google Cloud CCAI system - Verify the agent status service is running and configured - Check that agents have proper status settings configured **Regex Pattern Matching Issues** - Test your regex patterns with sample response data - Verify the pattern correctly matches the expected JSON structure - Check for case sensitivity in status values #### Testing the Integration **Manual API Test**: curl -H "Content-Type: application/json" \ "https://yoursubdomain.ccaiportal.com/apps/api/v1/agent_statuses" **Template Configuration Test**: 1. After entering Domain and Subdomain, click **Save Webhook** 2. Review the auto-generated URL structure **Advanced Configuration Test**: 1. In the advanced configuration screen, click **Run Webhook** 2. Verify the API response contains expected agent status data 3. Test different regex patterns and acceptance criteria **Live Integration Test**: 1. Monitor CallGrid logs for successful API calls 2. Verify agent status data is being parsed correctly 3. Test call routing based on availability conditions ### Rate Limits and Considerations - **API Rate Limit**: Monitor usage to stay within Google Cloud CCAI's rate limits - **Response Time**: Typically under 1 second for agent status checks - **Data Freshness**: Real-time agent status updates - **Pattern Complexity**: Keep regex patterns efficient for optimal performance ### Support and Additional Resources #### Google Cloud CCAI Documentation - [Google Cloud Contact Center AI Documentation](https://cloud.google.com/contact-center-ai) - [CCAI API Reference](https://cloud.google.com/contact-center-ai/docs/api) - [Agent Management Guide](https://cloud.google.com/contact-center-ai/docs/agent-management) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## Genesys Cloud Agent Availability Integration > The Genesys Cloud integration enables CallGrid to receive real-time agent availability updates from your Genesys Cloud contact center environment. Source: https://callgrid.com/knowledge-base/genesys-cloud-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The Genesys Cloud integration enables CallGrid to receive real-time agent availability updates from your Genesys Cloud contact center environment. This integration uses Genesys Cloud's Platform API to monitor queue member availability and route calls intelligently based on current agent presence and queue capacity. ![](https://callgrid.com/api/media/file/GenesysTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Genesys Cloud account with administrative privileges - Access to your Genesys Cloud Admin Console - OAuth2 client credentials configured in Genesys Cloud - Your specific Queue ID for the agents you want to monitor ### Configuration Steps #### Step 1: Configure OAuth2 Application in Genesys Cloud 1. Log into your Genesys Cloud Admin Console 2. Navigate to **Integrations** → **OAuth** → **OAuth Clients** 3. Click **Create OAuth Client** 4. Configure the client with appropriate permissions: - **Grant Type**: Client Credentials - **Roles**: Assign roles with routing queue read permissions 5. Note the **Client ID** and **Client Secret** 6. Generate a Bearer token using the OAuth2 flow #### Step 2: Identify Your Queue ID 1. In your Genesys Cloud Admin Console, navigate to **Admin** → **Contact Center** → **Queues** 2. Select the queue you want to monitor for agent availability 3. Note the Queue ID from the queue details page 4. This ID will be used to specify which queue to monitor #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **Genesys** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **Queue ID** _(Required)_ - Enter your Genesys Cloud queue ID - This identifies which queue to monitor for agent availability - Example: 12345678-1234-1234-1234-123456789abc **Bearer Authentication Token** _(Required)_ - Paste your Genesys Cloud OAuth2 Bearer token - This token authenticates your requests to Genesys Cloud's Platform API - Example: Bearer abc123def456ghi789jkl012mno345 - Note: Token is obtained via OAuth2 flow using your client credentials 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### ![](https://callgrid.com/api/media/file/GenesysAdvanced.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: [https://api.mypurecloud.com/api/v2/routing/queues/12345678/members?expand=presence&presence=Available&joined=true](https://api.mypurecloud.com/api/v2/routing/queues/12345678/members?expand=presence&presence=Available&joined=true) **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) **URL Parameters** The integration automatically includes these query parameters: - **expand=presence**: Expands response to include agent presence information - **presence=Available**: Filters for agents with Available presence status - **joined=true**: Only includes agents who are joined to the queue ###### Authentication Headers The system automatically configures the Authorization header: - **Key**: Authorization - **Value**: Bearer xxxxxxxxxx (your OAuth2 Bearer token) ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the API response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for available queue members using the total field: - **Field**: total - **Condition**: Greater Than - **Value**: 0 This configuration accepts calls only when at least one agent is available in the queue. ###### Agent Availability Parsing **Response Field Options** Configure which fields from the Genesys Cloud API response to use for agent availability: - **Property Path**: Enter the JSON path to the availability data - **Common Fields**: - total - Total number of available agents in the queue - entities - Array of agent objects with detailed information - pageCount - Number of pages in the response - pageSize - Number of entities per page ###### Testing Your Configuration To test your integration: 1. Fill in your **Queue ID** and **Bearer Authentication Token** in the configuration boxes 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your current queue member data 4. Confirm the acceptance parsing works correctly with your agent threshold The webhook test will connect to your Genesys Cloud system in real-time and show you whether calls would be accepted based on your current queue availability. ### How It Works #### Agent Status Monitoring The integration monitors real-time agent status through Genesys Cloud's Routing API: 1. **Real-time Polling**: CallGrid checks queue member availability before routing each call 2. **Presence Filtering**: The system automatically filters for agents with "Available" presence status 3. **Queue Membership**: Only considers agents who are actively joined to the specified queue 4. **Smart Routing**: Calls are only sent when available agents meet your thresholds #### API Response Structure Genesys Cloud's Queue Members API returns availability data in the following format: { "entities": [ { "id": "agent-uuid-1", "name": "Agent Name", "user": { "id": "user-uuid-1", "name": "Agent Name", "presence": { "presenceDefinition": { "id": "available-presence-id", "systemPresence": "Available" } } }, "joined": true } ], "pageSize": 25, "pageNumber": 1, "total": 5, "pageCount": 1 } ### Advanced Configuration Examples #### Example 1: Basic Available Agent Check **Acceptance Criteria:** - Field: total - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent is available in the queue. #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Field: total - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are available in the queue. #### Example 3: High-Volume Staffing Requirements **Acceptance Criteria:** - Field: total - Condition: Greater Than - Value: 4 This configuration requires at least 5 available agents before accepting calls, ensuring adequate staffing for busy periods. #### Example 4: Page-Based Validation **Acceptance Criteria:** - Field: pageCount - Condition: Greater Than - Value: 0 This configuration ensures the API response contains valid data before accepting calls. ### Advanced Use Cases #### Multi-Queue Monitoring Configure multiple CallGrid destinations, each monitoring different Genesys Cloud queues for specialized routing based on skill groups or departments. #### Presence-Based Routing Leverage Genesys Cloud's rich presence system to route calls based on specific agent availability states and activities. #### Skills-Based Distribution Combine queue member availability with Genesys Cloud's skills-based routing for intelligent call distribution. ### OAuth2 Token Management #### Token Generation Generate Bearer tokens using Genesys Cloud's OAuth2 Client Credentials flow: curl -X POST "https://login.mypurecloud.com/oauth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET" #### Token Refresh - OAuth2 tokens have expiration times - Implement token refresh logic in your application - Monitor token validity and refresh before expiration ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your OAuth2 Bearer token is current and valid - Ensure the client credentials have proper permissions for queue access - Check that your Genesys Cloud organization is accessible **Invalid Queue ID** - Confirm your Queue ID exists in your Genesys Cloud system - Verify the Queue ID format matches Genesys Cloud's UUID format - Check that the queue is active and properly configured **No Agent Data Returned** - Ensure agents are logged into your Genesys Cloud system - Verify agents are joined to the specified queue - Check that agents have "Available" presence status **Permission Errors** - Verify your OAuth2 client has routing queue read permissions - Check that the assigned roles include necessary API access - Ensure the client is properly configured in Genesys Cloud #### T #### esting the Integration **Manual API Test**: curl -H "Authorization: Bearer your_bearer_token_here" \ "https://api.mypurecloud.com/api/v2/routing/queues/your_queue_id/members?expand=presence&presence=Available&joined=true" **Template Configuration Test**: 1. After entering Queue ID and Bearer token, click **Save Webhook** 2. Review the auto-generated URL and authentication headers **Advanced Configuration Test**: 1. In the advanced configuration screen, click **Run Webhook** 2. Verify the API response contains expected queue member data 3. Test different field paths and acceptance criteria **Live Integration Test**: 1. Monitor CallGrid logs for successful API calls 2. Verify queue member data is being parsed correctly 3. Test call routing based on availability conditions ### Rate Limits and Considerations - **API Rate Limit**: Monitor usage to stay within Genesys Cloud's rate limits - **Response Time**: Typically under 500ms for queue member checks - **Data Freshness**: Real-time agent presence updates - **Token Management**: Implement proper OAuth2 token refresh procedures ### Support and Additional Resources #### Genesys Cloud Documentation - [Genesys Cloud Developer Center](https://developer.genesys.cloud/) - [Platform API Documentation](https://developer.genesys.cloud/platform/api/) - [OAuth2 Authentication Guide](https://developer.genesys.cloud/platform/api/oauth/) - [Routing API Reference](https://developer.genesys.cloud/platform/api/routing/) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## Five9 Agent Availability Integration > The Five9 integration enables CallGrid to receive real-time agent availability updates from your Five9 ACD (Automatic Call Distribution) environment. Source: https://callgrid.com/knowledge-base/five9-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The Five9 integration enables CallGrid to receive real-time agent availability updates from your Five9 ACD (Automatic Call Distribution) environment. This integration uses Five9's Statistics API to monitor agent status and route calls intelligently based on current agent availability and queue capacity. ![](https://callgrid.com/api/media/file/five9Template.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Five9 account with administrative privileges - Access to your Five9 Administration Console - A generated Bearer Authentication Token from your Five9 account - Your specific Domain ID for the integration ### Configuration Steps #### Step 1: Generate Bearer Authentication Token 1. Log into your Five9 Administration Console 2. Navigate to **Settings** → **API** → **API Keys** 3. Click **Create New API Key** or **Generate Token** 4. Set appropriate permissions for statistics access 5. Copy the generated Bearer token securely (you'll need this for the integration) #### Step 2: Identify Your Domain ID 1. In your Five9 Administration Console, note your domain identifier 2. This is typically found in your account settings or dashboard URL 3. The Domain ID is used to specify which Five9 domain to monitor 4. Example: If your Five9 URL is [https://app.five9.com/appsvcs/rs/svc/orgs/YourDomain](https://app.five9.com/appsvcs/rs/svc/orgs/YourDomain), then "YourDomain" is your Domain ID #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **Five9** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **Domain ID** _(Required)_ - Enter your Five9 domain identifier - This identifies which Five9 domain to monitor for agent availability - Example: YourCompanyDomain **Bearer Authentication Token** _(Required)_ - Paste your Five9 Bearer authentication token - This token authenticates your requests to Five9's Statistics API - Example: Bearer abc123def456ghi789jkl012 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### ![](https://callgrid.com/api/media/file/five9Advanced.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: [https://developer.alpha.us.five9.net/statistics/v1/domains/xxxxx/statistics/acd-status](https://developer.alpha.us.five9.net/statistics/v1/domains/xxxxx/statistics/acd-status) **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### Authentication Headers The system automatically configures the Authorization header: - **Key**: Authorization - **Value**: Bearer 12345678 (your Bearer token) ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the API response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for agents ready for voice calls using the agentsReadyForVoice field: - **Field**: agentsReadyForVoice - **Condition**: Greater Than - **Value**: 0 This configuration accepts calls only when at least one agent is ready to handle voice calls. ###### Agent Availability Parsing **Response Field Options** Configure which fields from the Five9 API response to use for agent availability: - **Property Path**: Enter the JSON path to the availability data - **Common Fields**: - agentsReadyForVoice - Agents available to take voice calls - agentsLoggedIn - Total agents logged into the system - agentsOnCall - Agents currently handling calls - agentsInWrapUp - Agents in wrap-up mode - totalAgents - Total number of agents ###### Testing Your Configuration To test your integration: 1. Fill in your **Domain ID** and **Bearer Authentication Token** in the configuration boxes 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your current ACD status data 4. Confirm the acceptance parsing works correctly with your agent threshold The webhook test will connect to your Five9 system in real-time and show you whether calls would be accepted based on your current agent availability. ### How It Works #### Agent Status Monitoring The integration monitors real-time agent status changes through Five9's ACD Status API: 1. **Real-time Polling**: CallGrid checks agent availability before routing each call 2. **ACD Status Evaluation**: The system evaluates current agent status against your criteria 3. **Smart Routing**: Calls are only sent when agent availability meets your thresholds 4. **Load Management**: Helps prevent overwhelming your call center during peak times #### API Response Structure Five9's ACD Status API returns agent availability data in the following format: { "domain": "YourDomain", "agentsReadyForVoice": 5, "agentsLoggedIn": 12, "agentsOnCall": 7, "agentsInWrapUp": 2, "totalAgents": 15, "timestamp": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Agent Availability **Acceptance Criteria:** - Field: agentsReadyForVoice - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent is ready for voice calls. #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Field: agentsReadyForVoice - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are ready for voice calls. #### Example 3: Capacity-Based Routing **Acceptance Criteria:** - Field: agentsLoggedIn - Condition: Greater Than - Value: 5 This configuration requires at least 6 agents to be logged in before accepting calls. #### Example 4: Load-Balanced Distribution **Acceptance Criteria:** - Field: agentsOnCall - Condition: Less Than - Value: 10 This configuration prevents accepting calls when more than 9 agents are currently on calls, avoiding system overload. ### Advanced Use Cases #### Multi-Domain Monitoring Configure multiple CallGrid destinations, each monitoring different Five9 domains for enterprise-level call routing. #### Skill-Based Routing Combine agent availability with Five9's skill groups for intelligent call distribution based on agent specializations. #### Performance Optimization Use ACD status data to create dynamic routing rules that adapt to real-time call center performance. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your Bearer token is correct and current - Ensure the token has proper permissions for Statistics API access - Check that your Five9 account is active and accessible **Invalid Domain ID** - Confirm your Domain ID exists in your Five9 system - Verify the Domain ID matches your Five9 account configuration - Check that the domain is active and properly configured **No ACD Data Returned** - Ensure agents are logged into your Five9 system - Verify the ACD service is running and configured - Check that statistics collection is enabled in Five9 **API Rate Limiting** - Monitor your API usage to stay within Five9's rate limits - Consider implementing request throttling if needed - Check Five9's API documentation for current rate limit policies #### Testing the Integration **Manual API Test**: curl -H "Authorization: Bearer your_bearer_token_here" \ "https://developer.alpha.us.five9.net/statistics/v1/domains/your_domain/statistics/acd-status" **Template Configuration Test**: 1. After entering Domain ID and Bearer token, click **Save Webhook** 2. Review the auto-generated URL and authentication headers **Advanced Configuration Test**: 1. In the advanced configuration screen, click **Run Webhook** 2. Verify the API response contains expected ACD status data 3. Test different field paths and acceptance criteria **Live Integration Test**: 1. Monitor CallGrid logs for successful API calls 2. Verify ACD status data is being parsed correctly 3. Test call routing based on agent availability conditions ### Rate Limits and Considerations - **API Rate Limit**: Monitor usage to stay within Five9's API rate limits - **Response Time**: Typically under 500ms for ACD status checks - **Data Freshness**: Real-time agent status updates - **System Performance**: Consider the impact of frequent API calls during peak hours ### Support and Additional Resources #### Five9 Documentation - [Five9 Developer Portal](https://developer.five9.com/) - [Statistics API Documentation](https://developer.five9.com/docs/statistics-api) - [ACD Status API Reference](https://developer.five9.com/docs/acd-status) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## EnrollHere Agent Availability Integration > The EnrollHere integration enables CallGrid to receive real-time agent availability updates from your EnrollHere dialer environment. Source: https://callgrid.com/knowledge-base/enrollhere-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The EnrollHere integration enables CallGrid to receive real-time agent availability updates from your EnrollHere dialer environment. This integration uses EnrollHere's API to monitor agent availability by queue and route calls intelligently based on current staffing levels and agent status. ![](https://callgrid.com/api/media/file/EnrollHereTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active EnrollHere account with administrative privileges - Access to your EnrollHere management dashboard - Your specific Queue ID for the agents you want to monitor - Network access to EnrollHere's API endpoints ### Configuration Steps #### Step 1: Identify Your Queue ID 1. Log into your EnrollHere management dashboard 2. Navigate to **Queue Management** or **Agent Queues** 3. Locate the queue you want to monitor for agent availability 4. Note the Queue ID - this is typically a numeric identifier 5. This ID will be used to specify which queue to monitor for agent availability #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **EnrollHere** from the Agent Availability templates 6. Fill in the required field: ###### Required Configuration Fields **Queue ID** _(Required)_ - Enter your EnrollHere queue ID - This identifies which queue to monitor for agent availability - Example: 123456789 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ![](https://callgrid.com/api/media/file/enrollhereAdvanced.png) ###### Request Configuration **URL Structure** The webhook URL is automatically generated based on your configuration: https://api.enrollhere.com/dialer/availability/byQueue/123456789?phone=[[tag:CallerId]]&state=[[tag:InboundStateCode]] **HTTP Method** - **Method**: GET (automatically configured) - **Timeout**: 10 seconds (default, adjustable) ###### Authentication EnrollHere integration uses API-based authentication: - No additional headers required for basic availability checks - The system automatically handles authentication through the URL structure ###### Dynamic URL Parameters The integration automatically includes dynamic parameters: - **phone**: [[tag:CallerId]] - The caller's phone number - **state**: [[tag:InboundStateCode]] - The caller's state code These parameters allow EnrollHere to provide contextual availability information based on the specific call details. ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Parsing Type** - **Parse Type**: JSON (automatically configured) - **Parse Field**: Configure which field from the API response to evaluate **Default Acceptance Criteria** The system is pre-configured to check for agent availability using the available field: - **Field**: available - **Condition**: Equals - **Value**: true This configuration accepts calls only when the EnrollHere API returns "available": true for the specified queue. ###### Agent Availability Parsing **Response Field Options** Configure which fields from the EnrollHere API response to use for agent availability: - **Property Path**: Enter the JSON path to the availability data - **Common Fields**: - available - Boolean indicating if agents are available - agent_count - Number of available agents - queue_status - Overall queue status - capacity - Current queue capacity ###### Testing Your Configuration To test your integration: 1. Fill in your **Queue ID** in the configuration box 2. Provide test values for **tag:CallerId** and **tag:InboundStateCode** 3. Click **Run Webhook** button to test the connection 4. Verify the test passes and shows your current agent availability data 5. Confirm the acceptance parsing works correctly with your criteria The webhook test will connect to your EnrollHere system in real-time and show you whether calls would be accepted based on your current queue availability. ### How It Works #### Agent Status Monitoring The integration monitors real-time agent status changes through EnrollHere's Dialer Availability API: 1. **Real-time Polling**: CallGrid checks agent availability before routing each call 2. **Queue-Specific Monitoring**: The system monitors the specific queue you've configured 3. **Contextual Availability**: Uses caller information (phone, state) for intelligent routing 4. **Dynamic Response**: Adapts to real-time changes in agent availability #### API Response Structure EnrollHere's API returns agent availability data in the following format: { "queue_id": "123456789", "available": true, "agent_count": 5, "queue_status": "active", "capacity": 10, "last_updated": "2025-09-23T15:30:00Z" } ### Advanced Configuration Examples #### Example 1: Basic Availability Check **Acceptance Criteria:** - Field: available - Condition: Equals - Value: true This configuration accepts calls only when agents are available in the queue. #### Example 2: Minimum Agent Count **Acceptance Criteria:** - Field: agent_count - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are available. #### Example 3: Queue Status Validation **Acceptance Criteria:** - Field: queue_status - Condition: Equals - Value: active This configuration verifies the queue is actively accepting calls. #### Example 4: Capacity-Based Routing **Acceptance Criteria:** - Field: capacity - Condition: Greater Than - Value: 5 This configuration requires adequate queue capacity before accepting calls. ### Advanced Use Cases #### Multi-Queue Monitoring Configure multiple CallGrid destinations, each monitoring different EnrollHere queues for specialized routing based on call type or geographic region. #### State-Based Routing Leverage the automatic state parameter to route calls to queue agents specialized in specific geographic regions. #### Performance-Based Distribution Use availability data combined with CallGrid's bidding rules to optimize call distribution based on queue performance. ### Troubleshooting #### Common Issues **Invalid Queue ID** - Confirm your Queue ID exists in your EnrollHere system - Verify the Queue ID is active and properly configured - Check that the ID is numeric and matches your EnrollHere queue **No Agent Data Returned** - Ensure agents are logged into your EnrollHere system - Verify agents are assigned to the specified queue - Check that the queue monitoring is functioning properly **API Connection Issues** - Verify network connectivity to EnrollHere's API endpoints - Check if there are any firewall restrictions blocking API calls - Ensure your EnrollHere account has API access enabled **Parameter Parsing Errors** - Verify that CallerId and InboundStateCode tags are properly configured - Check that the dynamic parameters are being populated correctly - Test with sample values to ensure URL construction is working #### Testing the Integration **Manual API Test**: curl "https://api.enrollhere.com/dialer/availability/byQueue/123456789?phone=5551234567&state=CA" **Template Configuration Test**: 1. After entering Queue ID, click **Save Webhook** 2. Review the auto-generated URL structure **Advanced Configuration Test**: 1. In the advanced configuration screen, provide test values for variables 2. Click **Run Webhook** to test the connection 3. Verify the API response contains expected availability data 4. Test different acceptance criteria **Live Integration Test**: 1. Monitor CallGrid logs for successful API calls 2. Verify agent availability data is being parsed correctly 3. Test call routing based on availability conditions ### Rate Limits and Considerations - **API Rate Limit**: Monitor usage to stay within EnrollHere's rate limits - **Response Time**: Typically under 1 second for availability checks - **Data Freshness**: Real-time agent status updates - **Geographic Routing**: Leverage state-based routing for improved performance ### Support and Additional Resources #### EnrollHere Documentation - [EnrollHere API Documentation](https://docs.enrollhere.com/) - [Dialer Availability API Reference](https://docs.enrollhere.com/api/dialer-availability) - [Queue Management Guide](https://help.enrollhere.com/queue-management) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## DialedIn Agent Availability Integration > This integration uses DialedIn's API to monitor agent availability and route calls intelligently based on current staffing levels. Source: https://callgrid.com/knowledge-base/dialedin-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The DialedIn integration enables CallGrid to receive real-time agent availability updates from your DialedIn contact center environment. This integration uses DialedIn's API to monitor agent availability and route calls intelligently based on current staffing levels. ![](https://callgrid.com/api/media/file/DialedInTemplate.png) ### Prerequisites Before setting up this integration, ensure you have: - An active DialedIn account with administrative privileges - Access to your DialedIn Management Console - A generated API token from your DialedIn account - Your specific Account ID for the integration ### Configuration Steps #### Step 1: Generate API Token 1. Log into your DialedIn Management Console 2. Navigate to your **API settings** or **Integration** section 3. Generate or locate your **API Token** 4. Copy the token securely (you'll need this for the integration) #### Step 2: Identify Your Account ID 1. In your DialedIn Management Console, locate your **Account ID** 2. This is typically found in your account settings or dashboard 3. Note this identifier - it will be used in the integration setup #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **DialedIn** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **API Token** _(Required)_ - Paste your DialedIn API token - This token authenticates your requests to DialedIn - Example: abc123def456ghi789 **Account ID** _(Required)_ - Enter your DialedIn account identifier - This specifies which account to monitor for agent availability - Example: 12345678 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ![](https://callgrid.com/api/media/file/DialedInAcceptanceParsing.png) ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Minimum Agent Threshold** The system is pre-configured to check for available agents using the AvailableInboundAgents field. You can adjust the minimum number of agents required: - **Value: 0** - Accept calls when any agents are available (default) - **Value: 1** - Accept calls when at least 2 agents are available - **Value: 2** - Accept calls when at least 3 agents are available - **Value: 3** - Accept calls when at least 4 agents are available Simply change the number in the "Value" field to set your minimum agent requirement. ###### Testing Your Configuration ![](https://callgrid.com/api/media/file/DialedInTesting.png) To test your integration: 1. Fill in your **API Token** and **Account ID** in the configuration boxes 2. Click **Run Webhook** 3. Verify the test passes and shows agent availability data from your DialedIn system 4. Confirm the acceptance parsing criteria work correctly The test will show you real data from your DialedIn contact center and whether calls would be accepted based on your settings. ### Advanced Configuration Examples #### Example 1: Basic Available Agent Check **Acceptance Criteria:** - Field: AvailableInboundAgents - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one inbound agent is available. #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Field: AvailableInboundAgents - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 inbound agents are available and ready. #### Example 3: High-Volume Staffing Requirements **Acceptance Criteria:** - Field: AvailableInboundAgents - Condition: Greater Than - Value: 4 This configuration requires at least 5 available agents before accepting calls, ensuring adequate staffing for busy periods. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your API Token is correct and current - Ensure the token has proper permissions for API access - Check that your DialedIn account is active and accessible **Invalid Account ID** - Confirm your Account ID exists in your DialedIn system - Verify the Account ID is active and properly configured - Check that the ID is numeric and matches your DialedIn account **No Agent Data Returned** - Ensure agents are logged into your DialedIn system - Verify agents are assigned to handle inbound calls - Check that the agent monitoring is functioning properly #### Testing the Integration To test your DialedIn integration: 1. Enter your **API Token** and **Account ID** in the configuration fields 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your current agent availability data 4. Confirm the acceptance parsing works correctly with your agent threshold The webhook test will connect to your DialedIn system in real-time and show you whether calls would be accepted based on your current agent availability and threshold settings. #### Rate Limits and Considerations - Monitor API usage to stay within DialedIn's rate limits - Agent availability data updates based on DialedIn's refresh intervals - Consider the performance impact of frequent API calls during peak hours ### Support and Additional Resources #### DialedIn Documentation - [DialedIn API Integration Guide](https://getdialedin.com/integrations/api/) - [DialedIn User Documentation](https://docs.getdialedin.com/) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Contact CallGrid support with integration details --- ## Posting Bids from Retreaver to CallGrid using RTB > This guide will walk you through setting up RTB integration in your Retreaver campaign to post bid requests to CallGrid. Source: https://callgrid.com/knowledge-base/posting-bids-from-retreaver-to-callgrid-using-rtb Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding This guide will walk you through setting up RTB integration in your Retreaver campaign to post bid requests to CallGrid. ### Prerequisites Before starting, ensure you have: - An active Retreaver campaign - CallGrid RTB URL provided by your buyer - Administrative access to your Retreaver account ### Setup Instructions #### Step 1: Set Up Call Buyer in Retreaver ![](https://callgrid.com/api/media/file/RetreaverCallBuyer.png) 1. In your Retreaver campaign, click **"Add Buyer"** 2. In the **Number** field, enter exactly: [number] (including the square brackets) 3. Configure other buyer settings as needed (payout, filters, etc.) 4. Click **"Create Call Buyer"** to save the profile 5. **Copy the System Buyer ID** that gets assigned to this buyer ![](https://callgrid.com/api/media/file/RetreaverBuyerCopy.png) #### Step 2: Update Buyer Number Format ![](https://callgrid.com/api/media/file/RetreaverBuyerField.png) #### 1. **Edit the buyer** you just created 2. Change the number field from [number] to: [callgrid_{SystemBuyerID}_number] 3. Replace {SystemBuyerID} with the actual System Buyer ID you copied 4. **Save the buyer changes** #### Step 3: Configure Retreaver Webhook ![](https://callgrid.com/api/media/file/RetreaverWebhook.png) #### 1. In your Retreaver campaign, scroll to the **Webhook section** 2. Click **"Add Webhook"** 3. Set **Webhook trigger** to **"Pass-through Ping"** 4. Name the webhook for your reference 5. Click the **Webhook Configurator Toggle** to enable advanced settings #### Step 4: Configure Webhook URLs ![](https://callgrid.com/api/media/file/RetreaverHookConfig.png) #### Fill in the webhook configurator fields with the URLs provided by your CallGrid buyer: **Ping URL:** (Provided by your CallGrid buyer) **Post URL:** (Provided by your CallGrid buyer) **HTTP Method:** POST **Timeout:** 5000ms (or as preferred) Click **"Create Webhook"** to save the configuration. #### Step 5: Configure Conversion Criteria ![](https://callgrid.com/api/media/file/RetreaverConv.png) #### 1. **Edit your campaign** and scroll to the **Conversion Criteria section** 2. Tag the CallGrid buyer to the conversion criteria using the wizard 3. Configure the following fields: **Seconds Tag:** duration **Revenue Tag:** payout 1. If you're brokering calls, set your **payout value** and specify your **revenue share percentage** ### Testing Your Integration #### Test Call Process 1. Use Retreaver's webhook testing tools to verify the ping/post URLs respond correctly 2. Check that your CallGrid buyer's URLs are properly configured 3. Verify that the buyer's number format includes the correct System Buyer ID: [callgrid_{SystemBuyerID}_number] #### Expected Response Format When testing, you should receive responses containing: - **Status**: reserved (for successful bids) - **Inbound Number**: Phone number for call routing - **Payout**: Revenue amount for the call - **Duration**: Minimum call duration required ### Troubleshooting #### Common Issues **Webhook Not Responding** - Verify the ping/post URLs provided by your CallGrid buyer are correct - Check that the webhook URLs are properly formatted - Ensure the webhook timeout settings allow sufficient response time **Buyer Not Bidding** - Confirm the buyer's number format: [callgrid_{SystemBuyerID}_number] - Verify the System Buyer ID matches exactly - Check that the buyer meets campaign filters and availability requirements **Conversion Tracking Issues** - Ensure the "duration" and "payout" tags are properly configured - Verify the conversion criteria is tagged to the correct buyer - Check that the revenue sharing percentage is set correctly ### Advanced Configuration #### Multiple Buyer Setup You can create multiple CallGrid buyers within the same Retreaver campaign: 1. Repeat Steps 1-2 for each additional buyer 2. Each buyer will have its own unique System Buyer ID 3. Use the same webhook configuration for all buyers 4. Configure different payout rates or filters per buyer as needed ### Support For assistance with this integration: - Verify all Retreaver configuration steps are completed correctly - Ensure you have the correct CallGrid RTB URLs from your buyer - Contact your CallGrid buyer for URL-specific issues --- ## Receiving Bids from Retreaver in CallGrid > This guide will walk you through providing your publishers in Retreaver with your CallGrid posting instructions. Source: https://callgrid.com/knowledge-base/receiving-bids-from-retreaver-in-callgrid Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding This guide will walk you through providing your publishers in Retreaver with your CallGrid posting instructions. ### Quick Setup Steps 1. Navigate to the **Campaigns** page in CallGrid 2. Click on any **Bidding Campaign** and go to the **Sources** tab 3. To receive posting instructions for a Source, simply click the **Code Icon** next to the Source 4. This will open the posting instructions 5. Select "**Retreaver**" from the platform dropdown and select any tags you wish them to send you 6. Click the copy button next to the URL and send it to your publisher ![](https://callgrid.com/api/media/file/RetreaverPosting.png) ### Next Steps Send this link along with our posting instructions: [**Posting Bids from Retreaver to CallGrid using RTB**](https://callgrid.com/posts/posting-bids-from-retreaver-to-callgrid-using-rtb) If you want to postback conversions to their Retreaver campaign based on a payable event in CallGrid, contact CallGrid support for conversion tracking setup. ### Getting Your Grid ID Your Grid ID is automatically included in the posting instructions URL. If you need to reference it separately: 1. Navigate to **Campaigns** in CallGrid 2. Select your **Bidding campaign** 3. Click on the **Sources** tab 4. Copy the **Grid ID** from the appropriate source --- ## Convoso Agent Availability Integration > The Convoso integration enables CallGrid to receive real-time agent availability updates from your Convoso contact center environment. Source: https://callgrid.com/knowledge-base/convoso-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The Convoso integration enables CallGrid to receive real-time agent availability updates from your Convoso contact center environment. This integration uses Convoso's Agent Monitor API to check agent availability and route calls intelligently based on current staffing levels. ![](https://callgrid.com/api/media/file/ConvosoInt.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Convoso account with administrative privileges - Access to your Convoso Admin Panel - A generated authentication token from your Convoso API settings - Your specific Queue ID and Campaign ID for monitoring ### Configuration Steps #### Step 1: Generate Authentication Token 1. Log into your Convoso Admin Panel 2. Navigate to **API** settings 3. Generate or locate your **Authentication Token** 4. Copy the token securely (you'll need this for the integration) #### Step 2: Identify Your Queue and Campaign IDs 1. In your Convoso Admin Panel, note your **Queue ID** for the queue you want to monitor 2. Identify your **Campaign ID** for the specific campaign you're tracking 3. These numeric identifiers will be used in the integration setup #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **Convoso** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **Queue ID** _(Required)_ - Enter your Convoso queue identifier (numeric value) - This identifies which queue to monitor for agent availability - Example: 12345 **Auth Token** _(Required)_ - Paste your Convoso authentication token - This token authenticates your API requests to Convoso - Example: abc123def456ghi789 **Campaign ID** _(Required)_ - Enter your Convoso campaign identifier (numeric value) - This specifies which campaign to monitor for agent activity - Example: 67890 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ![](https://callgrid.com/api/media/file/ConvosoAdvanced.png) ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Minimum Agent Threshold** The system is pre-configured to check for available agents using the data.available_agents field. You can adjust the minimum number of agents required: - **Value: 0** - Accept calls when any agents are available (default) - **Value: 1** - Accept calls when at least 2 agents are available - **Value: 2** - Accept calls when at least 3 agents are available - **Value: 3** - Accept calls when at least 4 agents are available Simply change the number in the "Value" field to set your minimum agent requirement. ###### Testing Your Configuration To test your integration: 1. Fill in your **Queue ID**, **Auth Token**, and **Campaign ID** in the configuration boxes 2. Click **Run Webhook** 3. Verify the test passes and shows agent availability data from your Convoso system 4. Confirm the acceptance parsing criteria work correctly The test will show you real data from your Convoso Agent Monitor and whether calls would be accepted based on your settings. ### Advanced Configuration Examples #### Example 1: Basic Available Agent Check **Acceptance Criteria:** - Field: data.available_agents - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent is available in the monitored queue. #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Field: data.available_agents - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are available and ready. #### Example 3: High-Volume Staffing Requirements **Acceptance Criteria:** - Field: data.available_agents - Condition: Greater Than - Value: 4 This configuration requires at least 5 available agents before accepting calls, ensuring adequate staffing for busy periods. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your Auth Token is correct and current - Ensure the token has proper permissions for API access - Check that your Convoso account is active and accessible **Invalid Queue or Campaign ID** - Confirm your Queue ID exists in your Convoso system - Verify the Campaign ID is active and running - Check that IDs are numeric values without extra characters **No Agent Data Returned** - Ensure agents are logged into the specified queue - Verify the campaign is active and agents are assigned - Check that the Agent Monitor is functioning properly #### Testing the Integration To test your Convoso integration: 1. Enter your **Queue ID**, **Auth Token**, and **Campaign ID** in the configuration fields 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your current agent availability data 4. Confirm the acceptance parsing works correctly with your agent threshold The webhook test will connect to your Convoso Agent Monitor in real-time and show you whether calls would be accepted based on your current agent availability and threshold settings. #### Rate Limits and Considerations - Monitor API usage to stay within Convoso's rate limits - Agent availability data updates based on Convoso's refresh intervals - Consider the performance impact of frequent API calls during peak hours ### Support and Additional Resources #### Convoso Documentation - [Convoso API Documentation](https://help.convoso.com/hc/en-us/articles/360043003034-How-to-get-Agent-Productivity-through-API) - [Partner Integration Guide](https://www.convoso.com/advanced-features/partner-integration/) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Contact CallGrid support with integration details --- ## CallTools Agent Availability Integration > The CallTools integration enables CallGrid to receive real-time agent availability updates from your CallTools contact center environment. Source: https://callgrid.com/knowledge-base/calltools-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The CallTools integration enables CallGrid to receive real-time agent availability updates from your CallTools contact center environment. This integration uses CallTools' REST API to monitor agent status changes and route calls intelligently based on agent availability and queue capacity. ![](https://callgrid.com/api/media/file/CallToolsInt.png) ### Prerequisites Before setting up this integration, ensure you have: - An active CallTools account with manager-level access - Access to the CallTools platform integrations section - A generated API Token from your CallTools account - Your specific queue identifier for agent availability monitoring ### Configuration Steps #### Step 1: Generate API Token 1. Log into your CallTools platform 2. Navigate to **Integrations** → **API Keys** 3. Click **Create API Key** or generate a new token 4. Copy the generated API token immediately 5. Store the token securely (it cannot be retrieved later) #### Step 2: Identify Your Queue 1. In CallTools platform, navigate to your queue management section 2. Identify the specific queue you want to monitor for agent availability 3. Note the queue name or identifier - this will be used in the integration #### Step 3: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **CallTools** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **API Token** _(Required)_ - Paste the API token generated from your CallTools account - Format: Alphanumeric string (e.g., abc123def456ghi789jkl012) - This authenticates your requests to the CallTools API **Queue** _(Required)_ - Enter your CallTools queue identifier or name - This identifies which queue to monitor for agent availability - Example: sales-queue or support-team 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Minimum Agent Threshold** The system is pre-configured to check for available agents. You can adjust the minimum number of agents required: - **Value: 0** - Accept calls when any agents are available (default) - **Value: 1** - Accept calls when at least 2 agents are available - **Value: 2** - Accept calls when at least 3 agents are available - **Value: 3** - Accept calls when at least 4 agents are available Simply change the number in the "Value" field to set your minimum agent requirement. ![](https://callgrid.com/api/media/file/CallToolsAdvanced.png) ###### Testing Your Configuration To test your integration: 1. Fill in your **API Token** and **Queue** in the configuration boxes 2. Click **Run Webhook** 3. Verify the test passes and shows agent availability data 4. Confirm the acceptance parsing criteria work correctly The test will show you real data from your CallTools queue and whether calls would be accepted based on your settings. ### Advanced Configuration Examples #### Example 1: Basic Available Agent Check **Acceptance Criteria:** - Field: count - Condition: Greater Than - Value: 0 This configuration accepts calls only when the API returns at least one agent record. #### Example 2: Available Agent Threshold **Custom JSON Parsing:** Count agents where status equals "Available" and queue_logged_in is true. **Acceptance Criteria:** - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are available and logged into the queue. #### Example 3: Queue-Specific Availability **Agent Availability Parsing:** - Property: results[*].queue_logged_in - Count agents with true values This configuration specifically monitors agents logged into the target queue. #### Example 4: Status-Based Filtering **Advanced Parsing:** Filter results array for agents where status equals "Available". This approach only counts agents with "Available" status, excluding those on calls or in wrap-up. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your API Token is correct and current - Ensure the token format is correct (no extra spaces or characters) - Check that your CallTools user has appropriate API permissions **Invalid Queue Parameter** - Confirm the queue name or identifier exists in your CallTools account - Verify spelling and case sensitivity of queue names - Test API endpoint manually to validate queue parameter **Connection Timeouts** - Check your CallTools silo subdomain (e.g., east-1, west-1) - Ensure your CallTools account is active and accessible - Verify network connectivity to calltools.io domain #### Testing the Integration To test your CallTools integration: 1. Enter your **API Token** and **Queue** in the configuration fields 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your queue's current agent data 4. Confirm the acceptance parsing works correctly with your agent threshold The webhook test will connect to your CallTools account in real-time and show you whether calls would be accepted based on your current agent availability and threshold settings. #### Silo Identification CallTools uses multiple silos with different subdomains: - east-1.calltools.io - west-1.calltools.io - central-1.calltools.io Check your CallTools login URL to identify your silo subdomain. #### Rate Limits and Considerations - **API Rate Limit**: 1000 requests per hour per account - **Response Time**: Typically under 500ms - **Data Freshness**: Real-time agent status - **Pagination**: Default 25 results per page, max 250 ### Support and Additional Resources #### CallTools Documentation - [CallTools API Documentation](https://developers.calltools.com/) - [API Conventions Guide](https://developers.calltools.com/api-conventions/) - [Agent Status Definitions](https://calltools.com/glossary/agent-statuses/) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## Aircall Agent Availability Integration > The Aircall integration enables CallGrid to receive real-time agent availability updates from your Aircall contact center environment. Source: https://callgrid.com/knowledge-base/aircall-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The Aircall integration enables CallGrid to receive real-time agent availability updates from your Aircall contact center environment. This integration uses Aircall's Public API to monitor user availability statuses and route calls intelligently based on agent availability. ![](https://callgrid.com/api/media/file/AircallInt.png) ### Prerequisites Before setting up this integration, ensure you have: - An active Aircall account with administrative privileges - Access to your Aircall Company Settings - A generated API ID and API Token from your Aircall dashboard ### Configuration Steps #### Step 1: Generate API Credentials 1. Log into your Aircall dashboard 2. Navigate to **Settings** → **Company Settings** 3. Scroll to the **API Keys** section 4. Click **Add a new API key** 5. Copy both the **API ID** and **API Token** immediately (the token cannot be retrieved later) 6. Store these credentials securely #### Step 2: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **Aircall** from the Agent Availability templates 6. Fill in the required field: ###### Required Configuration Fields **Basic Auth Token** _(Required)_ - Format: API_ID:API_TOKEN (will be Base64 encoded automatically) - Example: your_api_id:your_api_token_here - This combines your Aircall API ID and API Token with a colon separator 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ###### ![](https://callgrid.com/api/media/file/AircallAdvanced.png) ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Minimum Agent Threshold** The system is pre-configured to check for available agents. You can adjust the minimum number of agents required: - **Value: 0** - Accept calls when any agents are available (default) - **Value: 1** - Accept calls when at least 2 agents are available - **Value: 2** - Accept calls when at least 3 agents are available - **Value: 3** - Accept calls when at least 4 agents are available Simply change the number in the "Value" field to set your minimum agent requirement. ###### Testing Your Configuration To test your integration: 1. Fill in your **Basic Auth Token** in the configuration box 2. Click **Run Webhook** 3. Verify the test passes and shows agent availability data 4. Confirm the acceptance parsing criteria work correctly The test will show you real data from your Aircall account and whether calls would be accepted based on your settings. ### Advanced Configuration Examples #### Example 1: Basic Available Agent Check **Acceptance Criteria:** - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent shows as "available". #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Condition: Greater Than - Value: 2 This setup ensures calls are accepted only when at least 3 agents are available. #### Example 3: Higher Availability Requirements **Acceptance Criteria:** - Condition: Greater Than - Value: 4 This configuration requires at least 5 available agents before accepting calls. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your API ID and API Token are correct and current - Ensure the Basic Auth Token format is API_ID:API_TOKEN - Check that your API credentials haven't been revoked or expired **No Agent Data Returned** - Confirm your Aircall account has active users - Verify agents are logged into the Aircall system - Check that your API credentials have proper permissions **Rate Limiting** - Aircall limits requests to 60 per minute per account - Adjust CallGrid polling frequency if hitting rate limits - Monitor for HTTP 429 responses indicating rate limit exceeded #### Testing the Integration To test your Aircall integration: 1. Enter your **API ID:API Token** in the Basic Auth Token field 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your account's current agent data 4. Confirm the acceptance parsing works correctly with your agent threshold The webhook test will connect to your Aircall account in real-time and show you whether calls would be accepted based on your current agent availability and threshold settings. #### Authentication Format Aircall uses HTTP Basic Authentication where: 1. API ID and API Token are concatenated with a colon: API_ID:API_TOKEN 2. The resulting string is Base64 encoded automatically by CallGrid 3. The Authorization header becomes: Authorization: Basic [ENCODED_STRING] #### Rate Limits and Considerations - **API Rate Limit**: 60 requests per minute per company - **Response Time**: Typically under 200ms - **Data Freshness**: Real-time availability statup ### Support and Additional Resources #### Aircall Documentation - [Aircall API References](https://developer.aircall.io/api-references/) - [Basic Authentication Guide](https://developer.aircall.io/tutorials/basic-authentication/) - [User Availability Statuses](https://support.aircall.io/hc/en-gb/articles/10375394997661-User-Availability-Statuses) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Test API connectivity using provided curl commands 4. Contact CallGrid support with integration details --- ## 8x8 Contact Center Agent Availability Integration > The 8x8 Contact Center integration enables CallGrid to receive real-time agent availability updates from your 8x8 Contact Center environment. Source: https://callgrid.com/knowledge-base/8x8-contact-center-agent-availability-integration Last updated: 2025-09-23 Topics: Integrations, Agent Availability The 8x8 Contact Center integration enables CallGrid to receive real-time agent availability updates from your 8x8 Contact Center environment. This integration uses 8x8's Real Time Statistics API to monitor agent status changes and route calls intelligently based on agent availability. ![](https://callgrid.com/api/media/file/8X8Int.png) ### Prerequisites Before setting up this integration, ensure you have: - An active 8x8 Contact Center account with administrative privileges - Access to your 8x8 Configuration Manager - Your 8x8 platform subdomain (e.g., vcc-na4, vcc-eu1) - A valid queue ID in your 8x8 Contact Center system ### Configuration Steps #### Step 1: Generate API Authentication Token 1. Log into your 8x8 Configuration Manager 2. Navigate to **Integration** → **API Token** 3. Next to **Data Request Token**, click **New Token** 4. Copy the generated token - this will be your **Basic Auth Token** #### Step 2: Identify Your Platform Subdomain Your 8x8 platform subdomain depends on your tenant's hosting location. Common subdomains include: - vcc-na4 (North America) - vcc-eu1 (Europe) - vcc-ap1 (Asia Pacific) You can find your specific subdomain in your 8x8 login URL. #### Step 3: Locate Your Queue ID 1. In 8x8 Configuration Manager, go to **Queues** 2. Identify the queue you want to monitor for agent availability 3. Note the Queue ID (numeric value) - this will be used in the integration #### Step 4: Configure CallGrid Integration ##### Phase 1: Basic Template Setup 1. Navigate to your CallGrid destination settings 2. Click the **Webhook** tab 3. Enable **Webhook Integration** 4. Enable **Template Mode** 5. Select **8x8** from the Agent Availability templates 6. Fill in the required fields: ###### Required Configuration Fields **Queue ID** _(Required)_ - Enter your 8x8 queue ID (found in Configuration Manager → Queues tab) - This identifies which queue to monitor for agent availability - Example: 103 **Platform Subdomain** _(Required)_ - Enter your 8x8 platform subdomain without the full URL - Common values: vcc-na4, vcc-eu1, vcc-ap1 - Example: vcc-na4 **Basic Auth Token** _(Required)_ - Paste the Data Request Token generated from your 8x8 Configuration Manager - Format: TENANT_NAME:AUTH_TOKEN (will be Base64 encoded automatically) - Example: TENANT_NAME:AUTH_TOKEN 1. Click **Save Webhook** to proceed to advanced configuration ##### Phase 2: Advanced Configuration (Optional) After saving your basic template configuration, you'll be taken to the advanced configuration screen. The system automatically builds the webhook URL and authentication headers for you. ![](https://callgrid.com/api/media/file/8X8Advanced.png) ###### Acceptance Parsing The most important setting is the acceptance criteria, which determines when calls should be sent to this destination. **Minimum Agent Threshold** The system is pre-configured to check for available agents. You can adjust the minimum number of agents required: - **Value: 0** - Accept calls when any agents are available (default) - **Value: 1** - Accept calls when at least 2 agents are available - **Value: 2** - Accept calls when at least 3 agents are available - **Value: 3** - Accept calls when at least 4 agents are available Simply change the number in the "Value" field to set your minimum agent requirement. ###### Testing Your Configuration To test your integration: 1. Fill in your **Queue ID**, **Platform Subdomain**, and **Basic Auth Token** in the configuration boxes 2. Click **Run Webhook** 3. Verify the test passes and shows agent availability data 4. Confirm the acceptance parsing criteria work correctly The test will show you real data from your 8x8 system and whether calls would be accepted based on your settings. ### Advanced Configuration Examples #### Example 1: Basic Available Agent Check **Acceptance Criteria:** - Condition: Greater Than - Value: 0 This configuration accepts calls only when at least one agent is available to handle transactions. #### Example 2: Multiple Agent Threshold **Acceptance Criteria:** - Condition: Greater Than - Value: 2 This setup ensures calls are accepted when there are at least 3 available agents. #### Example 3: Higher Capacity Requirements **Acceptance Criteria:** - Condition: Greater Than - Value: 4 This configuration requires at least 5 available agents before accepting calls, ensuring adequate staffing for high-volume periods. ### Troubleshooting #### Common Issues **Authentication Failures** - Verify your Basic Auth Token is correct and current - Ensure the token includes proper tenant name encoding - Check that the token hasn't expired (regenerate if needed) **Invalid Platform Subdomain** - Confirm your subdomain matches your 8x8 login URL - Check that you're using the correct regional subdomain - Contact 8x8 support if uncertain about your platform location **Queue ID Not Found** - Verify the Queue ID exists in your 8x8 Configuration Manager - Ensure the queue is active and has assigned agents - Check that the queue supports the integration #### Testing the Integration To test your 8x8 integration: 1. Enter your **Queue ID**, **Platform Subdomain**, and **Basic Auth Token** in the configuration fields 2. Click **Run Webhook** button to test the connection 3. Verify the test passes and shows your queue's current agent data 4. Confirm the acceptance parsing works correctly with your agent threshold The webhook test will connect to your 8x8 system in real-time and show you whether calls would be accepted based on your current agent availability and threshold settings. #### Rate Limits and Considerations - The 8x8 Statistics API updates every 10 seconds - Data is cached by 8x8 for performance optimization - Real-time updates may have slight delays (up to 10 seconds) ### ### Support and Additional Resources #### 8x8 Documentation - [8x8 Developer Hub](https://developer.8x8.com/) - [Contact Center APIs](https://support.8x8.com/contact-center/8x8-contact-center/developers/) - [Real Time Statistics API Guide](https://support.8x8.com/contact-center/8x8-contact-center/developers/8x8-contact-center-real-time-statistics-reporting-api) #### CallGrid Support If you need assistance with this integration: 1. Check the CallGrid logs for error messages 2. Verify all configuration parameters 3. Contact CallGrid support with integration details --- ## Posting Conversions to Ringba from CallGrid > This guide will walk you through setting up a Webhook in your CallGrid so that you can send conversion events to your publishers at Ringba. Source: https://callgrid.com/knowledge-base/posting-conversions-to-ringba-from-callgrid Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding This guide will walk you through setting up a Webhook in your CallGrid so that you can send conversion events to your publishers at Ringba. Approximate setup time is 30 seconds. First, open your CallGrid dashboard and navigate to the **Integrations->Webhooks** page. Click the **New Webhook** button. Make sure Template Mode is turned on. Click the Template Dropdown and select "**Ringba**" Under the "**Conversion** **Pixel**" header. Enter the Webhook ID that you receive from your Vendor. ![](https://callgrid.com/api/media/file/RingbaTemplate.png) Give the Webhook a name and select "**Call Paid**" as the event and then click "**Save Webhook**". > **Warning:** Pro Tip: If you only want this Webhook to fire for a specific Source add a Tag Filter to the Webhook. Click "**Add Filter**" and select **Source Name Equals** and then select the Source from the dropdown. --- Next, navigate to the **Campaigns **page. Select the Campaign you wish to run the Conversion event for. ![](https://callgrid.com/api/media/file/CampaignWebhook.png) On the "**General**" tab select the Webhook from the "**Webhooks**" dropdown and click **Save Changes**. --- ## Receiving Conversion Events from CallGrid in Ringba > Setting up a Webhook in your Ringba so that you can receive conversion events from your buyers at CallGrid. Source: https://callgrid.com/knowledge-base/receiving-conversion-events-from-callgrid-in-ringba Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding This guide will walk you through setting up a Webhook in your Ringba so that you can receive conversion events from your buyers at CallGrid. Approximate setup time is 30 seconds. First, open your Ringba dashboard and navigate to the **Integrations->Webhooks** page. Click the **Create Webhook** button. ![](https://callgrid.com/api/media/file/RecievingCallEventsRingba.png) Enter the name of your Buyer, and the default settings "call_id" and "call_revenue" and hit Create. Grab the Webhook ID from the url (starting with WH) and send it to your buyer in CallGrid. They will use the Ringba Conversion Pixel integration in CallGrid to submit payouts to you on the Call Paid event. --- ## Receiving Bids from Ringba in CallGrid > A walk through providing your publishers in Ringba with your CallGrid posting instructions. Source: https://callgrid.com/knowledge-base/receiving-bids-from-ringba-in-callgrid Last updated: 2025-09-23 Topics: Integrations, Real Time Bidding This guide will walk you through providing your publishers in Ringba with your CallGrid posting instructions. Approximate time to complete the steps is about 30 seconds. --- Navigate to the **Campaigns** page in CallGrid. Click on any Bidding Campaign and go to the **Sources** tab. To receive posting instructions for a Source simply click the **Code Icon** next to the Source. ![](https://callgrid.com/api/media/file/PostingIcon.png) This will open the posting instructions. Select "**Ringba**" from the platform dropdown and select any tags you wish them to send you. ![](https://callgrid.com/api/media/file/APIconfig.png) Click the copy button next to the URL and send it to your publisher. Send this link along with our posting instructions: [Posting Bids from Ringba to CallGrid using RTB](https://callgrid.com/posts/posting-bids-from-ringba-to-callgrid-using-rtb) If you want to postback Conversions to their Ringba based on a Payable event in CallGrid, see the related article [Posting Conversions to Ringba from CallGrid](https://callgrid.com/posts/posting-conversions-to-ringba-from-callgrid). --- ## Posting Bids from Ringba to CallGrid using RTB > This guide will walk you through setting up a Ringtree Target in your Ringba to post RTB requests to CallGrid. Approximate setup time is 2 minutes. Source: https://callgrid.com/knowledge-base/posting-bids-from-ringba-to-callgrid-using-rtb Last updated: 2025-09-26 Topics: Integrations, Real Time Bidding This guide will walk you through setting up a Ringtree Target in your Ringba to post bid requests to CallGrid. Approximate setup time is 2 minutes. First, open your Ringba dashboard and navigate to the Targets->RingTree Targets page. Then, create a new Ring Tree target and give the target a name and select a buyer from the buyer dropdown. Make sure **Dynamic Number / SIP** is turned on. ![](https://callgrid.com/api/media/file/SIP.png) Set any hours, caps, and concurrency settings that you might need. Go to Revenue Settings and make sure Conversion Settings is set to **Override** and Revenue Type is **Dynamic** ![](https://callgrid.com/api/media/file/RevSettings.png) If your buyer has asked for conversions on postbacks then select Convert On **Postback / Webhook.** ![](https://callgrid.com/api/media/file/PotbackWebhook.png) > **Warning:** _If you select this option you will need to go to Integrations->Webhooks in the sidebar and click Create Webhook, give the webhook a name and save it. Then send the webhook url to your buyer. Instructions to setup the Webhook in Ringba can be found here: _[Receiving Conversion Events from CallGrid in Ringba](https://callgrid.com/posts/receiving-conversion-events-from-callgrid-in-ringba) If your buyer has asked for conversions on Call Duration then select Convert On **Call Length.** Set the Start Call Length On **Connect and the **Conversion call length value** **to** Dynamic.** ![Dynamic Duration](https://callgrid.com/api/media/file/DynamicDuration.png) Go to **Request Settings** and make sure you select **Basic.** ![](https://callgrid.com/api/media/file/Basic.png) Enter the CallGrid URL **that you receive from your buyer** in the **URL Field.** > **Warning:** _Pro Tip: Pass additional custom tags to your buyer by setting a url param ie &CustomTag= and using the Token button. Your buyer can receive the custom tags so long as the Tag exists on the Tags page in CallGrid._ Upon entering the URL the **Test Token Values** will appear. Enter "**+15551234567**" into the tag:InboundNumber:Number Test Token Field. ![](https://callgrid.com/api/media/file/TestTokenValues.png) _This is a special phone number that will cause a successful bid to be returned so that you can easily map the fields._ If there are additional Required Test Token fields enter **any value **for those fields. Click the **Run Request** button. ![](https://callgrid.com/api/media/file/AcceptanceMapping.png) Select "**code**" from the Acceptance Parsing dropdown and enter "1000" into the field. Select "**dynamicBid**" from the Dynamic Bid Parsing dropdown. Select "**dynamicSipAddress**" from the Dynamic Number dropdpown. Select "**dynamicDuration**" from the Dynamic Duration Parsing  dropdown. Now you can save by clicking the **Create Ringtree Target** button. --- ## Understanding Destinations - Complete Setup Guide > Destinations are the heart of your call routing strategy in CallGrid. Our destination system is intuitive and offers more powerful routing. Source: https://callgrid.com/knowledge-base/understanding-destinations---complete-setup-guide Last updated: 2025-09-30 Destinations are the heart of your call routing strategy in CallGrid. CallGrid's destination system is designed to be intuitive while offering even more powerful routing capabilities. ### What Are Destinations? Destinations define where your calls go and how they get there. Think of them as smart endpoints that can: - Accept or reject calls based on criteria - Determine pricing dynamically - Track capacity in real-time - Route to multiple locations - Integrate with any call buyer system ![](https://callgrid.com/api/media/file/Destinations.png) ### Creating a New Destination Access destinations through: **Buyers** → **Destinations** → **New Destination** ![](https://callgrid.com/api/media/file/NewDestination.png) #### Step 1: Destination Configuration ##### Variable Destination (Real-Time Bidding) - **What it is**: Enables Real-Time Call Bidding (RTB) where buyers compete for each call - **How it works**: Destination settings (phone number, pricing, routing) are determined dynamically through webhook responses - **Best for**: - Marketplace scenarios with multiple competing buyers - Dynamic pricing based on call characteristics - Integration with bidding platforms like Ringba - Maximizing revenue through competitive bidding - **Requirements**: Webhook configuration for bid requests and responses ##### Static Destination (Fixed Configuration) - **What it is**: Traditional fixed routing with predetermined settings - **How it works**: All destination settings are configured upfront and remain constant - **Best for**: - Direct buyer relationships with negotiated rates - Predictable routing scenarios - Simple integrations without complex bidding logic - Internal sales teams or call centers - **Requirements**: Basic destination configuration (phone number, capacity, etc.) > **Note:** **Recommendation**: Choose **Static** for your first destination to understand the basics, then explore **Variable** for advanced revenue optimization. --- ### Basic Information ![](https://callgrid.com/api/media/file/DestBasic.png) #### Destination Naming - Use clear, descriptive names - Include buyer identifier - Add campaign type for easy filtering #### Buyer Selection - **Select Existing**: Choose from dropdown - **Create New Buyer**: Click link to add new buyer inline - Links all destination data to buyer reporting #### Sub ID (Optional) - External reference number - Used for buyer's internal tracking - Passed through in webhooks #### Timezone Setting - Set buyer's local timezone - Affects schedule-based routing - Critical for business hours accuracy ### Business Hours Configuration Control when destinations accept calls: ![](https://callgrid.com/api/media/file/BusinessHours.png) #### Always Open - Toggle ON for 24/7 availability - Bypasses all schedule restrictions - Best for: National call centers, emergency services #### Custom Schedules When toggled OFF, configure: - Day-by-day availability - Specific hours per day - Holiday blackouts - Timezone-aware scheduling ### Call Settings ![](https://callgrid.com/api/media/file/CallSettings.png) ### #### Phone Type Options ##### 1. Static Number - Fixed destination number - Format: Standard phone format - Use for: Direct buyers, single locations - **Required for Static destinations** ##### 2. Variable Number - Number provided by webhook - Requires webhook configuration - Use for: Dynamic routing, multiple locations - **Required for Variable destinations using RTB** ##### 3. SIP - Direct VoIP routing - Format: sip:user@domain.com - Example: [19548720849@tldcrm-abb.sip.telnyx.com](mailto:19548720849@tldcrm-abb.sip.telnyx.com) - Use for: Advanced integrations, call centers #### Dialing Configuration **Dial Attempts** - Range: 1-5 attempts - Default: 1 - Recommendation: 3 for critical buyers **Dial Timeout** - Range: 5-60 seconds - Default: 8 seconds - Recommendation: 15-20 seconds **Recording Options** - Enable/Disable call recordings - Checkbox to turn off for specific destinations - Compliance: Disable for states with strict recording laws ### Capacity and Limit Settings ![](https://callgrid.com/api/media/file/Capacity.png) #### Call Volume Controls **Cap Type** - Connect: Count answered calls only - Attempt: Count all call attempts - Impact: Connect typically allows more traffic **Max Concurrent Calls** - Simultaneous call limit - Prevents overwhelming buyers - Example: 1 = one call at a time **Global Cap** - Total calls across all time - Infinity (∞) = No limit - Use for: Testing or limited contracts **Monthly Cap** - Calendar month limit - Resets automatically - Infinity (∞) = No monthly limit **Daily Cap** - 24-hour rolling limit - Resets at midnight buyer timezone - Infinity (∞) = No daily limit **Hourly Cap** - 60-minute rolling limit - Prevents traffic spikes - Infinity (∞) = No hourly limit #### Advanced Scheduling - Enable Capacity Schedule: Time-based capacity - Enable Concurrency Schedule: Time-based concurrent limits - Configure different limits by hour/day ### Revenue Settings ![](https://callgrid.com/api/media/file/RevSettings-1.png) #### Revenue Type **Fixed Revenue** - Static price per call - Set amount regardless of buyer response - Best for: Established contracts, Static destinations **Variable Revenue** - Dynamic pricing from webhook - Buyer determines price per call - Best for: Marketplace/bidding scenarios, Variable destinations #### Revenue Amount - Dollar amount for fixed revenue - Minimum acceptable for variable - Format: No $ symbol needed (e.g., "50") #### Conversion Configuration **Conversion Type** - Duration: Time-based qualification - Webhook: Buyer-confirmed conversion - AI: Automated detection **Duration Start** - Connect: When call is answered - Dial: When dialing begins - Impact: Affects billable calculation **Duration Type** - Fixed: Exact duration required - Minimum: At least X seconds - Range: Between X and Y seconds **Duration Seconds** - Minimum call length for billing - Industry standards: - Insurance: 90-120 seconds - Home Services: 60-90 seconds - Finance: 120-180 seconds ### Tag Routing Rules #### Understanding Filters Powerful call filtering before routing: ##### ![](https://callgrid.com/api/media/file/TagRules.png) ##### Add Filter Create rules to include/exclude calls: - Click "+ Add Filter" - Select tag type - Choose operator (Equals, Not Equals, etc.) - Set value(s) ##### Common Filter Examples **State Filtering:** InboundStateCode Equals "FL,TX,SC" **ZIP Exclusions:** InboundZipCode Not Equals "90210,10001" **Time-Based:** WorkNotes Contains "T1-PPC" **Multi-Condition:** InboundStateCode Equals "CA" AND SourceName Equals "Google Ads" #### Managing Tags - Click tag icon to edit inline - Use Clear Filters to reset - Manage Tags for bulk operations ### Webhook Configuration (Variable Destinations Only) #### ![](https://callgrid.com/api/media/file/WebhookTab.png) #### Webhook Integration Toggle Enable to connect with external services for: - Real-time bid requests - Dynamic routing decisions - Buyer system integration #### Template Mode Simplified setup for common integrations: 1. Toggle "Template Mode" ON 2. Select platform from dropdown (e.g., Ringba, custom RTB) 3. Enter required credentials 4. Auto-configures all settings #### Manual Configuration **Request Setup** - Method: GET or POST - URL: Full endpoint URL - Headers: Click "+ Add Header" for auth tokens **URL Variables** Available in URL using double brackets: https://buyer.com/api?phone=[[tag.InboundNumberNoPlus]]&state=[[tag.InboundStateCode]] #### Webhook Testing ![](https://callgrid.com/api/media/file/WebhookTestingDest.png) **Test Process** 1. Configure webhook settings 2. Scroll to "Webhook Testing" 3. Fill test variables 4. Click "Run Webhook" 5. Review response **Test Variables** Common test values: - Phone: +13055551234 - State: FL - ZIP: 33101 #### Response Parsing **Acceptance Parsing** How to determine if buyer accepts: 1. Select response format (JSON/XML) 2. Choose field containing decision 3. Set acceptance criteria: - Greater Than 0 - Equals "true" **Agent Availability Parsing** Monitor buyer capacity: - Select field with agent count - Updates dashboard availability - Prevents routing to full buyers ### Best Practices #### Testing Protocol 1. Configure all settings 2. Run webhook test (Variable destinations) 3. Verify acceptance logic 4. Start with low daily cap 5. Monitor first 10 calls 6. Adjust based on results #### Common Configurations **Static Setup (Direct Buyer)** - Phone Type: Static - Revenue: Fixed - Conversion: Duration based - Caps: Based on contract **Variable Setup (RTB/Marketplace)** - Phone Type: Variable - Revenue: Variable - Conversion: Duration 90 seconds - Caps: Start with 10 daily - Webhook: Required for bidding **Network Integration** - Phone Type: SIP - Revenue: Variable - Conversion: Webhook confirmed - Caps: High concurrent, moderate daily #### Performance Optimization - Test webhooks during setup (Variable destinations) - Monitor response times - Adjust dial timeouts based on buyer - Use filters to improve quality - Regular capacity reviews ### Troubleshooting #### Common Issues **Webhook Failures (Variable Destinations)** - Check URL formatting - Verify headers/auth - Test with curl/Postman - Review response format **No Calls Routing** - Verify business hours - Check capacity limits - Review tag filters - Confirm buyer status **Low Accept Rates** - Review filter criteria - Check buyer requirements - Verify test data accuracy - Examine time zones ### Monitoring Performance After setup, monitor: - Accept rate (target >70%) - Average revenue per call - Conversion rates - Capacity utilization - Response times (Variable destinations) --- ## Call Bidding Error Codes Explained > This reference covers all client and server error codes you may encounter while integrating with CallGrid's call routing and bidding systems. Source: https://callgrid.com/knowledge-base/call-bidding-error-codes-explained Last updated: 2025-12-30 Topics: Support ### CallGrid API Error Codes Reference **Last Updated:** January 2026 **Reading Time:** 5 minutes A comprehensive guide to understanding and resolving CallGrid API error codes. This reference covers all client and server error codes you may encounter while integrating with CallGrid's call routing and bidding systems. --- ### Client Error Codes (4000s) Client errors indicate issues with your request or campaign configuration. These are typically resolved by adjusting your setup or contacting support. #### 4001 - Disabled Campaign **HTTP Status:** 200 **Message:** "Disabled" **What This Means:** Your campaign is currently disabled and cannot process calls. This typically occurs when: - Organization ID is invalid or inactive - Campaign ID (Grid ID) doesn't exist or has been deactivated - Account has been suspended **How to Fix:** 1. ✅ Verify your Organization ID in the CallGrid dashboard 2. ✅ Check that your Campaign ID is correct and active 3. ✅ Contact your account manager to reactivate the campaign 4. ✅ Review your account status for any billing issues --- #### 4002 - Paused Campaign **HTTP Status:** 200 **Message:** "Campaign is Paused" **What This Means:** The campaign has been temporarily paused by the campaign owner. This is different from a disabled campaign - it's a temporary state that can be easily resumed. **How to Fix:** 1. ✅ Navigate to **Campaigns** in your CallGrid dashboard 2. ✅ Locate your campaign and click the **Resume** button 3. ✅ If you don't have dashboard access, contact support for assistance 4. ✅ Check if the pause was scheduled (e.g., outside business hours) --- #### 4003 - Invalid Caller ID **HTTP Status:** 200 **Message:** "Invalid caller ID" **What This Means:** The caller ID provided doesn't meet CallGrid's validation criteria. This protects against spam and ensures call quality. **Valid Format Examples:** - ✅ +1234567890 (E.164 format) - ✅ +12345678901 (11-digit US number) - ❌ 1234567890 (missing country code) - ❌ 123-456-7890 (contains formatting) **How to Fix:** 1. ✅ Ensure caller ID starts with country code (+1 for US) 2. ✅ Remove any formatting characters (spaces, dashes, parentheses) 3. ✅ Verify the number has a valid area code 4. ✅ Check that the number isn't on a blocked list --- #### 4004 - Capacity Check Failed **HTTP Status:** 200 **Message:** "Capacity check failed" **What This Means:** The call was rejected due to capacity or filtering rules. This comprehensive error covers several scenarios: **Common Causes:** - **Campaign Closed:** Outside operating hours - **Daily/Monthly Cap Reached:** Volume limits exceeded - **Tag Rule Failure:** Call doesn't match targeting criteria - **Buyer Capacity Full:** No available agents/capacity **How to Fix:** 1. ✅ **Check Operating Hours:** Verify campaign schedule settings 2. ✅ **Review Caps:** Check daily/monthly volume limits in dashboard 3. ✅ **Audit Tag Rules:** Ensure call data matches targeting criteria 4. ✅ **Monitor Buyer Capacity:** Check destination availability 5. ✅ **Contact Support:** If settings appear correct --- #### 4005 - Duplicate Call **HTTP Status:** 200 **Message:** "Duplicate. CallerId already paid out." **What This Means:** A call from this caller ID has already been processed and paid out within your duplicate protection window. This prevents double-charging for the same caller. **Duplicate Windows by Industry:** - **Insurance:** 30-90 days - **Home Services:** 7-14 days - **Financial Services:** 90-180 days - **Solar:** 60-90 days **How to Fix:** 1. ✅ **This is Normal Behavior** - duplicate protection is working correctly 2. ✅ **Review Duplicate Settings:** Adjust window if needed in campaign settings 3. ✅ **Check Timestamp:** Ensure the previous call was actually processed 4. ✅ **Contact Support:** If you believe this is an error, provide caller ID and timestamp --- #### 4006 - No Available Numbers **HTTP Status:** 200 **Message:** "No phone numbers available for PSTN." **What This Means:** There are no available phone numbers in your pool for Public Switched Telephone Network (PSTN) routing. Contact support if you receive this message. --- #### 4007 – Caller ID Blocked **HTTP Status:** 200 **Message:** "CallerId Blocked" **What This Means:** The caller ID has been explicitly blocked by platform-level controls or campaign rules. **Common Causes:** - Caller appears on a blocked or suppression list - Fraud, spam, or compliance-related restrictions - Manual block applied by an administrator **How to Fix:** - ✅ Review blocked caller lists in the dashboard - ✅ Verify the caller ID is not flagged for abuse - ✅ Contact support if the block appears incorrect --- #### 4008 – Duplicate Bid **HTTP Status:** 200 **Message:** "Duplicate bid for CallerId" **What This Means:** A bid request was submitted more than once for the same caller ID within the bid de-duplication window. **How to Fix:** - ✅ Ask the campaign admin of the Grid ID to enable "Allow repeat pings" in their Bidding Settings. --- #### 4009 – Failed Tag Rules **HTTP Status:** 200 **Message:** "Failed tag rules" **What This Means:** The incoming call or bid did not satisfy one or more campaign tag-based targeting rules. **Common Causes:** - Missing required tags - Tag values outside accepted ranges (wrong State, ZipCode, etc). - Mismatched geography, intent, or vertical **How to Fix:** - ✅ Validate all required tags are included in the request - ✅ Confirm tag formats and value ranges - ✅ Review campaign targeting logic in the dashboard ### Server Error Codes (5000s) Server errors indicate issues on CallGrid's side or rate limiting. These are typically temporary or related to API usage patterns. #### 5001 - Rate Limit Exceeded **HTTP Status:** 429 **Message:** "Rate limit exceeded" **What This Means:** Your application has made too many API requests in a short time period, exceeding CallGrid's rate limits. These rate limits are set by the customer. **Default Per Source Rate Limits:** - **Enterprise Accounts:** 500 requests/minute - The organization can choose to allow a higher request limit for your Source by overriding your rate limit on the Source tab of their Campaign. Either slow down your requests to this Grid ID, or contact the campaign admin and ask them to increase the rate limit. --- ### Troubleshooting Guide #### Quick Diagnostic Steps When encountering any error code: 1. **Check Error Code Pattern** - 4000s = Your configuration/request issue - 5000s = Grid ID rate limiting issue 2. **Verify Basic Settings** - Campaign is active and properly configured - API credentials are valid and current - Request format matches API documentation 3. **Review Recent Changes** - Campaign setting modifications - API integration updates - Account or billing changes #### Error Resolution Priority **🔴 Immediate Action Required:** - 4001 - Disabled Campaign - 4006 - No Available Numbers **🟡 Review and Adjust:** - 4002 - Paused Campaign - 4004 - Capacity Check Failed **🟢 Normal Operations:** - 4005 - Duplicate Call (protection working) - 5001 - Rate Limit (implement proper retry logic) **🔵 Data Validation:** - 4003 - Invalid Caller ID (fix data format) --- ### Getting Help #### When to Contact Support **Immediate Support Needed:** - Multiple consecutive 4001 or 4006 errors - Unexpected 4004 errors with correct configuration - 5001 errors despite reasonable API usage **Self-Service First:** - 4002 - Check campaign status in dashboard - 4003 - Validate caller ID format - 4005 - Review duplicate protection settings #### Support Channels **For Technical Issues:** - **Email:** [support@callgrid.com](mailto:support@callgrid.com) - **Response Time:** < 2 hours during business hours **For Account Issues:** - **Contact:** Your dedicated account manager - **Portal:** CallGrid customer dashboard - **Escalation:** Enterprise support for critical issues #### What to Include in Support Requests When contacting support, always include: ✅ **Error Code** - The specific 4-digit error code ✅ **Timestamp** - When the error occurred (include timezone) ✅ **Request Details** - API endpoint and request payload ✅ **Campaign Info** - Campaign ID and configuration ✅ **Frequency** - How often this error occurs ✅ **Impact** - Business impact and urgency level --- ## Password-less Authentication Guide > Authentication to keep your account secure while making login simple. No more forgotten passwords, no more password resets, no more security risks. Source: https://callgrid.com/knowledge-base/password-less-authentication-guide Last updated: 2025-09-24 **Last Updated:** August 2025 **Reading Time:** 5 minutes CallGrid uses modern, password-less authentication to keep your account secure while making login simple. No more forgotten passwords, no more password resets, no more security risks from weak passwords. ### Why Password-less? Traditional passwords are the weakest link in security: - 81% of breaches involve compromised passwords - Average person manages 100+ passwords - Password reuse creates vulnerability chains - Phishing attacks target password entry CallGrid's password-less system eliminates these risks while making login faster and more convenient. ### Login Methods #### Google Sign-In (Recommended) The fastest and most secure way to access CallGrid. ##### First-Time Setup 1. Visit app.callgrid.com 2. Click "Continue with Google" 3. Select your Google account 4. Authorize CallGrid access 5. You're logged in! ##### Benefits - One-click login thereafter - Inherits Google's security (2FA, device verification) - No CallGrid-specific credentials to manage - Automatic security updates from Google ##### Security Features - OAuth 2.0 protocol - No password stored with CallGrid - Google's advanced threat detection - Session management through Google #### Email Magic Links Perfect for users without Google accounts or when accessing from new devices. ##### How It Works 1. Visit app.callgrid.com 2. Enter your email address 3. Click "Send Magic Link" 4. Check your email (arrives within 60 seconds) 5. Click the secure link 6. You're logged in! ##### Magic Link Security - Links expire after 15 minutes - Single-use only (can't be reused) - Tied to your specific email - Encrypted and unique each time ##### Email Delivery Tips - Check spam/junk folders - Whitelist [noreply@callgrid.com](mailto:noreply@callgrid.com) - Ensure email is typed correctly - Use the most recent link sent ### Signing Out Properly signing out ensures your account remains secure, especially on shared devices. #### How to Sign Out 1. **Click your profile icon** (top right corner) 2. **Select "Sign out"** from the dropdown menu 3. **Confirm your action** when prompted "Are you sure you want to sign out?" 4. **Click "Sign Out"** button to complete #### Quick Access Menu Your profile dropdown provides quick access to: - **Profile**: Personal settings and theme customization - **Users**: Team management (Admin only) - **Billing**: Payment and usage information - **Sign out**: Secure logout option #### When to Sign Out - Using a shared or public computer - Switching between multiple CallGrid accounts - Finished working for the day on non-personal devices - Before leaving your workstation unattended - If you notice any suspicious activity #### Sign Out Best Practices - Always sign out on shared devices - Clear browser data after signing out on public computers - Don't rely on browser close to end session - Verify you're signed out before leaving ### Security Best Practices #### For Google Sign-In Users 1. **Secure Your Google Account** - Enable 2-factor authentication - Use a strong Google password - Review connected devices regularly - Set up recovery options 2. **Monitor Access** - Check "Last account activity" in Google - Review authorized applications - Remove CallGrid access if compromised - Use Google's security checkup #### For Email Magic Link Users 1. **Email Security** - Use a secure email provider - Enable 2FA on your email - Don't forward magic links - Report suspicious emails 2. **Device Security** - Only login from trusted devices - Use private/incognito mode on shared computers - Always sign out when done - Clear browser data on public computers ### Managing Sessions #### Active Sessions - View all active login sessions - See device types and locations - Remote logout capability - Automatic timeout after inactivity #### Session Settings - **Remember Me**: Stay logged in for 30 days - **Auto-Logout**: After 2 hours of inactivity - **Concurrent Sessions**: Unlimited across devices #### Ending Sessions Remotely 1. Login from any device 2. Go to Account Settings 3. View "Active Sessions" 4. Click "End Session" for any device ### Troubleshooting Login Issues #### Google Sign-In Problems **"Access Blocked" Error** - Clear browser cookies - Try incognito/private mode - Disable browser extensions - Use a different browser **Wrong Google Account** - Sign out of Google completely - Clear browser data - Choose correct account carefully - Remove incorrect account authorization **Authorization Failed** - Check internet connection - Disable VPN temporarily - Update browser to latest version - Contact support if persistent #### Email Magic Link Issues **No Email Received** 1. Check spam/junk folders 2. Verify email address spelling 3. Wait full 2 minutes 4. Try "Resend Link" 5. Check email server status **Link Expired Message** - Request a new link - Use within 15 minutes - Don't bookmark magic links - Use the most recent email **Link Not Working** - Copy/paste full URL if clicking fails - Try a different browser - Disable security extensions - Check firewall settings ### Switching Authentication Methods #### From Email to Google 1. Log in via email magic link 2. Go to Account Settings 3. Click "Link Google Account" 4. Authorize CallGrid 5. Use Google sign-in going forward #### Managing Multiple Methods - Both methods can be active - Use either one to login - Same account access regardless - Security settings apply to both ### Security Alerts CallGrid monitors for suspicious activity: - Login from new location - Multiple failed attempts - Unusual access patterns - Concurrent sessions spike **Alert Actions** - Email notification sent - Review recent activity - Force logout all sessions - Contact support if not you ### Team Access Considerations #### For Admins - Each user needs individual login - No shared credentials allowed - Monitor team login activity - Remove access immediately when needed #### For Team Members - Personal email required - Can use either authentication method - Same security standards apply - Individual accountability maintained ### Mobile Access #### Mobile Browser Login - Same methods as desktop - Touch ID/Face ID after login - Mobile-optimized interface - Session management identical ### Emergency Access #### Locked Out Completely? 1. **Try Alternative Method** - If Google fails, use email - If email fails, try Google 2. **Contact Support** - Email: [support@callgrid.com](mailto:support@callgrid.com) - Include account details - Verification required 3. **Account Recovery** - Proof of ownership needed - Admin can restore access - 24-hour response time ### Pro Tips 1. **Bookmark the Login Page** - app.callgrid.com - Avoid phishing sites - Check URL carefully 2. **Set Up Both Methods** - Google for daily use - Email as backup - Test both periodically 3. **Regular Security Reviews** - Monthly session check - Update recovery options - Review account access - Monitor login alerts 4. **Profile Menu Navigation** - Quick access to all account features - Always visible in top right - One-click sign out --- ## Account Overview & Settings > This comprehensive guide walks you through every setting to ensure your account is configured for success. Source: https://callgrid.com/knowledge-base/account-overview--settings Last updated: 2025-09-24 Your CallGrid account settings are the foundation of your call tracking operations. This comprehensive guide walks you through every setting to ensure your account is configured for success. ### Profile Settings Your profile controls how you interact with CallGrid and how the platform appears to you. #### Profile Information - **Full Name**: Your display name across the platform - **Email Address**: Your primary contact for notifications and login #### Theme Customization CallGrid offers extensive theme customization to match your preferences and reduce eye strain during extended use. ##### Pre-built Themes Choose from our professionally designed themes: - **CallGrid Light**: Clean, bright interface for daytime use - **CallGrid Dark**: Easy on the eyes for extended sessions - **Midnight Dusk**: Deep blues and purples for late-night work - **Arctic Frost**: Cool, calming color palette - **Matrix**: High-contrast green for maximum visibility - **Rose Gold**: Warm, sophisticated tones - **Crimson Night**: Bold reds with dark backgrounds - **Forest Canopy**: Natural greens and earth tones - **Royal Velvet**: Rich purples and deep contrasts **Pro Tip**: Try different themes based on your working hours - lighter themes for day, darker for evening. ##### Custom Theme Options For ultimate personalization, enable Custom Theme to fine-tune every interface element: - **Accent**: Primary action colors (buttons, links, highlights) - **Background**: Main interface background color - **Foreground**: Primary text and icon colors - **Muted Text**: Secondary information and labels - **Well**: Container backgrounds for cards and sections - **Border**: Divider lines between elements - **Input**: Form field backgrounds and borders ##### Call Status Colors Customize how different call statuses appear in your reports: - **Stats Billable**: Revenue-generating calls (Default: Orange) - **Stats Live**: Currently active calls (Default: Green) - **Stats Completed**: Successfully finished calls (Default: Blue) - **Stats Non-Connect**: Failed connections (Default: Red) **Quick Setup**: Click "Reset All" to return to default colors if needed. ![Profile & Settings](https://callgrid.com/api/media/file/Profile-T7oUPh8agMLXVaCamg2sM3CncmZySf-1400x698-Nsrla2tvGXEe9mCiUImtoTLizY1HoO.png) ### Organization Management Access organization settings by clicking your Organization name in the lower left of the side navigation #### Settings Tab ##### Organization ID - Unique identifier for your account - Required for API integrations - Click to copy for easy sharing with support ##### Organization Details - **Name**: Your company name as it appears in reports - **Domain**: Primary domain for your business - **Phone**: Main contact number for account verification - **Timezone**: Critical for accurate reporting and scheduling **Important**: Timezone affects all reporting data. Change with caution as it won't retroactively adjust historical data. ![Organization](https://callgrid.com/api/media/file/Organization-mVC2sZyrxvUDNgYyOUOyCp9tezmfgD-B0JnlSsDdE3dmTrUmrFCzYVhZh1B1X.png) #### API Keys Tab Manage programmatic access to your CallGrid account: ##### Creating API Keys 1. Click "Create API Key" 2. Provide a descriptive name 3. Select appropriate role permissions 4. Copy the key immediately (shown only once) ##### API Key Management - **Name**: Descriptive identifier for the key's purpose - **Key**: Masked for security (click eye icon to reveal) - **Role**: Permission level (Admin, Reporting, etc.) - **Created**: Timestamp for audit trail - **Actions**: Delete compromised or unused keys **Security Best Practices**: - Create separate keys for different integrations - Rotate keys every 90 days - Never share keys in emails or messages - Delete keys immediately if compromised #### Manage Section ##### Plan & Billing Access your subscription and payment settings: - Current plan details - Usage statistics - Payment methods - Invoice history - Auto-recharge settings ##### Users Manage team access: - Add new team members - Set user roles and permissions - Remove access for departed employees - View last login times ### User Management CallGrid supports multiple user types for secure collaboration: #### User Roles ##### Admin - Full access to all features - Can modify organization settings - Manage billing and users - Create/delete API keys ##### Member - Access to campaigns and reporting - Can create/modify destinations - Cannot access billing or org settings #### Adding New Users 1. Navigate to Organization → Users 2. Click "Add User" 3. Enter email address 4. Select appropriate role 5. User receives invitation email ### Billing Settings Access comprehensive billing management through the Manage Billing interface, providing full control over your payment methods, usage tracking, and auto-recharge settings. #### Plan & Balance Overview The Plan & Balance card displays your current subscription status: - **Current Balance**: Real-time account balance (shown as negative when credits are available) - **Plan Type**: Your current subscription tier (Starter, Growth, Enterprise) - **Monthly Cost**: Recurring subscription fee - **Plan Status**: Active/Inactive indicator - **Renewal Date**: Next billing cycle date ##### Available Actions: - **Change Plan**: Upgrade or downgrade your subscription - **Add Funds**: Manually add credits to your account #### Auto Recharge Configuration Keep your campaigns running smoothly with automatic balance replenishment: ##### Settings - **Minimum Balance**: Threshold that triggers auto-recharge (e.g., $25.00) - **Recharge Amount**: Amount to add when triggered (e.g., $100.00) - **Status Toggle**: Enable/Disable auto-recharge with one click ##### Configuration Best Practices 1. Set minimum balance at least 2x your daily spend 2. Choose recharge amounts that cover 3-5 days of usage 3. Monitor initial settings for first week to optimize **Example**: If you spend ~$20/day, set minimum at $40 and recharge at $100 #### Payment Methods Securely manage your payment options: ##### Adding a Payment Method 1. Click "Add a default payment method" 2. Enter card details: - Card number - Expiration date (MM/YY) - CVC security code 3. Click "Add Card" to save ##### Managing Payment Methods - Set default payment method for auto-recharge - Remove expired or unused cards - Update billing information - View saved payment methods **Security Note**: CallGrid uses Stripe for PCI-compliant payment processing. We never store your full card details. #### Usage & Transaction History Monitor your spending with detailed tracking across three tabs: ##### Payments Tab View all transactions with: - **Date**: When the payment was processed - **Payment Method**: Card used for transaction - **Status**: Success/Failed/Pending - **Amount**: Total charged **Download Option**: Export payment history for accounting purposes ##### Usage Tab Track detailed platform usage: - Daily breakdowns by feature - Call minutes (local and toll-free) - Recording storage - AI transcription usage - Bid requests ($0.0005 each) - Custom reporting ##### Rates Tab View your current pricing: - Per-minute rates by call type - Feature-specific costs - Volume discounts (if applicable) - Custom negotiated rates #### Billing Alerts & Notifications Stay informed about your account: - Low balance warnings - Successful auto-recharge confirmations - Failed payment notifications - Monthly invoice delivery - Usage spike alerts #### Invoice Management Access your billing documents: - Download monthly invoices - View payment receipts - Export for accounting software - Request custom billing periods #### Common Billing Scenarios ##### Setting Up a New Account 1. Add payment method 2. Configure auto-recharge 3. Add initial funds 4. Monitor first week's usage 5. Adjust settings as needed ##### High-Volume Operations - Consider negotiated rates - Set higher auto-recharge amounts - Enable usage alerts - Review weekly spending patterns ##### Budget Management - Use daily usage reports - Set conservative auto-recharge - Monitor cost per acquisition - Optimize campaigns based on ROI ### Billing Troubleshooting **Payment Declined?** - Verify card details are correct - Check with bank for restrictions - International cards may need approval - Consider wire transfer for large amounts **Auto-Recharge Not Working?** - Confirm it's enabled (not "Disabled") - Check payment method is valid - Verify minimum balance is set correctly - Ensure default payment method is selected **Usage Higher Than Expected?** - Review Usage tab for breakdown - Check for failed calls (still incur costs) - Verify campaign settings - Look for toll-free vs. local usage **Need a Custom Invoice?** - Contact [billing@callgrid.com](mailto:billing@callgrid.com) - Provide date range needed - Allow 24-48 hours processing ### Billing Best Practices 1. **Prevent Interruptions** - Always maintain positive balance - Set auto-recharge 20% above typical usage - Keep payment method current 2. **Optimize Costs** - Use local numbers when possible - Monitor failed call rates - Review usage weekly - Adjust campaigns based on ROI 3. **Financial Planning** - Export monthly reports - Track cost per conversion - Budget for seasonal variations - Negotiate volume discounts ### Security Settings #### Password-less Authentication CallGrid uses modern authentication: - **Google Sign-In**: Link your Google account - **Email Magic Links**: Secure login via email - No passwords to manage or compromise #### Session Management - Automatic timeout after inactivity - "Remember me" option for trusted devices - View active sessions - Remote logout capability ### Notification Preferences Configure how CallGrid communicates with you: #### Email Notifications - Daily performance summaries - Alert thresholds exceeded - Failed destination warnings - Billing notifications - New user invitations #### Platform Alerts - Real-time dashboard notifications - Campaign performance alerts - System maintenance notices ### Regional Settings #### Timezone Configuration - Affects all reporting data - Changes apply going forward only - Consider impact on team members - Standard timezone format (e.g., US/Pacific) #### Currency Display - USD default - Affects reporting displays - Does not change billing currency ### Advanced Settings #### Data Retention - Call recording storage duration - Report data archival - Compliance settings #### Export Preferences - Default file formats - Report templates - Scheduled export settings ### Best Practices 1. **Perfect Your Theme** - Test different presets during various times of day - Customize colors to match your brand - Save configurations before major changes 2. **Complete Your Profile** - Add profile picture for multi-user accounts - Keep contact information current - Set appropriate timezone immediately 3. **Secure Your Account** - Use Google authentication when possible - Regularly review user access - Monitor API key usage 4. **Regular Maintenance** - Review user access monthly - Check billing settings quarterly - Update payment methods before expiration ### Common Issues **Can't access organization settings?** - Verify you have Admin role - Check with your account owner - Contact support if access seems incorrect **Theme changes not saving?** - Refresh your browser - Clear cache if persistent - Try a different browser **API key not working?** - Verify correct permissions - Check if key was deleted - Ensure proper formatting in your code --- ## CallGrid Dashboard Navigation > This guide walks you through every element of the interface, helping you navigate like a pro from day one. Source: https://callgrid.com/knowledge-base/callgrid-dashboard-navigation Last updated: 2025-09-24 Your CallGrid dashboard is command central for your call tracking operations. This guide walks you through every element of the interface, helping you navigate like a pro from day one. #### Dashboard Overview The CallGrid dashboard provides real-time insights into your call performance with three customizable time views: **Hourly**, **Daily**, **Weekly**, and **Monthly**. Toggle between these views using the buttons at the top of the dashboard to analyze trends at different scales. ![](https://callgrid.com/api/media/file/SampleDash.png) #### Key Performance Metrics (Top Row) Your most critical metrics are displayed prominently at the top of the dashboard: ##### Impressions - **What it shows:** Number of times your tracking numbers were displayed - **Why it matters:** Indicates your campaign reach and visibility - **Pro tip:** Compare impressions to clicks to gauge engagement rate ##### Clicks - **What it shows:** Number of times visitors clicked to call - **Why it matters:** Direct indicator of user intent - **Pro tip:** Low click rates may indicate placement or messaging issues ##### Total Calls - **What it shows:** All inbound calls received - **Why it matters:** Your raw call volume metric - **Color coding:** Green (increase), Red (decrease) from previous period ##### Failed Calls - **What it shows:** Calls that didn't connect successfully - **Why it matters:** High failure rates impact revenue and customer experience - **Pro tip:** Investigate spikes immediately through the Reports section #### Financial Metrics (Second Row) ##### Billable Calls - **What it shows:** Calls meeting your billable duration threshold - **Why it matters:** Direct revenue indicator - **Percentage shown:** Billable rate helps optimize campaigns ##### Payable Calls - **What it shows:** Calls you need to pay vendors for - **Why it matters:** Critical for margin calculation - **Color coding:** Green indicates healthy margins ##### Average Duration - **What it shows:** Mean call length across all calls - **Format:** Minutes:Seconds - **Why it matters:** Longer durations often correlate with quality ##### Conversions - **What it shows:** Calls resulting in successful outcomes - **Why it matters:** True measure of campaign effectiveness - **Pro tip:** Set up AI transcription to track conversions automatically #### Revenue Tracking (Bottom Section) ##### Total Revenue - **What it shows:** Gross revenue from all calls - **Percentage change:** Compared to previous period - **Use case:** Track overall business growth ##### Total Profit - **What it shows:** Revenue minus costs (Net profit) - **Why it matters:** The only metric that really matters - **Pro tip:** Set profit alerts for anomalies #### Visual Analytics ##### Revenue/Cost Bar Chart (Left) - **Orange bars:** Daily revenue - **Blue line:** Daily costs - **How to use:** Identify profitable vs. unprofitable days at a glance - **Interactive:** Hover for exact values ##### Call Volume Line Chart (Right) - **What it shows:** Call volume trends over time - **Use case:** Identify patterns, peaks, and valleys - **Pro tip:** Correlate with marketing campaigns or seasonal trends #### Left Navigation Menu ##### Dashboard (Current View) - Your home base for performance monitoring - Customizable widgets (coming soon) ##### Campaigns - Create and manage call tracking campaigns - View campaign-specific performance ##### Reports - Detailed analytics and custom reports - Export functionality for deeper analysis ##### Buyers - Manage call buyers and their settings - Track buyer-specific performance ##### Vendors - Configure vendor accounts and permissions - Monitor vendor delivery quality ##### Sources - Track performance by traffic source - Optimize based on source quality ##### Numbers - Manage your phone number inventory - Purchase new numbers ##### Integrations - Connect third-party services - Configure webhooks and APIs #### Account Management (Bottom) ##### Collapse (Toggle) - Minimize navigation for more screen space - Useful for smaller screens ##### Company Name (Dropdown) - Switch between different companies/accounts - Manage multiple brands from one login #### Pro Navigation Tips 1. **Quick Filters** - Click any metric to drill down - Use date ranges for historical comparison - Filter by campaign, source, or buyer #### Understanding Percentage Changes All percentage changes compare to the previous period: - **Green percentages**: Positive change - **Red percentages**: Negative change - **Time period**: Matches your selected view (hourly, daily, etc.) #### Mobile Navigation The CallGrid dashboard is fully responsive: - Swipe between metric cards on mobile - Tap charts to zoom - Use the hamburger menu for navigation #### Getting Started Tasks 1. **Set up your first campaign** - Click Campaigns → New Campaign 2. **Configure vendors** - Essential for proper attribution 3. **Customize your view** - Make the dashboard work for you 4. **Set up alerts** - Never miss important changes #### Troubleshooting Dashboard Issues **Data not updating?** - Check your selected time range - Verify campaign is active - Confirm tracking code is installed **Metrics seem wrong?** - Review your conversion settings - Check timezone configuration - Verify filter settings --- ## Call Bidding Setup Guide > Our advanced bidding rules allow you to make campaign overrides based on any tag filters you want - meaning you can change bidding behavior based on.. Source: https://callgrid.com/knowledge-base/call-bidding-setup-guide Last updated: 2025-09-24 ### CallGrid's Call Bidding Advantage CallGrid's Call Bidding system provides two key differentiators that set us apart from other platforms: #### Advanced Bidding Rules Our advanced bidding rules allow you to make **campaign overrides based on any tag filters you want** - meaning you can change bidding behavior based on: - **Buyer or destination** characteristics - **Source or vendor** performance - **Custom tags** and parameters - **Sub IDs** for granular optimization This allows you to **centralize your campaign management under a single campaign** because of the flexible rule bidding system, with all settings accessible in the same view. #### Call Source Priorities Our call source priorities feature allows you to set the **priority of your sources** so that when multiple sources send bid requests for the same caller ID (duplicate bids), **you get to choose which sources take priority**. Priority sources are selected while lower ones are rejected - this is **our solution to the duplicate bid problem** and allows buyers to optimize delivery by choosing which sources they value and trust most. ### Accessing Call Bidding Settings Navigate to: **Campaigns** → Select Campaign → **Bidding** tab ### Core Bidding Configuration #### Caller ID Requirements ##### Require Caller ID - Toggle ON to reject anonymous calls - Reduces spam and improves call quality - Required by most buyers in the marketplace - Impact: ~5-10% call volume reduction ##### Passthrough Enabled - Allows original caller ID to pass through to buyers - Required for caller verification and compliance - Significantly improves buyer answer rates - Essential for premium buyers and higher payouts ##### Cost Plus Enabled - Transparent pricing model for trusted partnerships - Shows your markup percentage to strategic partners - Builds long-term buyer confidence and relationships - Use for: Volume commitments and preferred partnerships #### Base Bidding Parameters ##### Base Bid - Starting bid amount for all calls entering auctions - Format: Dollar amount (e.g., "26") - Sets the minimum acceptable price floor - Strategy: Start conservative, optimize based on performance ##### Min Bid - Absolute floor price - protects against unprofitable calls - Prevents accepting bids below your cost threshold - Format: Dollar amount (e.g., "14") - Calculate: Your acquisition cost + minimum profit margin ##### Max Bid - Ceiling for bid amounts to prevent runaway auctions - Controls maximum payout expectations - Format: Dollar amount (e.g., "35") - Strategy: Set 20-30% above your average target price #### Payout Configuration ##### Payout Type - **Duration**: Pay after X seconds of connected time - **Connect**: Pay immediately on call answer - **Conversion**: Pay only on confirmed conversion/sale - Industry recommendation: Duration for most verticals ##### Duration Start Type - **Connect**: Timer starts when buyer answers - **Dial**: Timer starts when dialing begins - Impact: Typically 10-15 second difference in payout timing ##### Payout Call Length - Minimum connected duration required for payout - Industry standards by vertical: - Insurance: 90-120 seconds - Solar: 120-180 seconds - Home Services: 60-90 seconds - Format: Seconds (e.g., "90") #### Margin Management ##### Cost Plus Margin Type - **Percentage**: Markup as percentage of your cost - **Fixed Amount**: Dollar markup per call - Recommendation: Percentage for scalability and flexibility ##### Cost Plus Margin - Your markup amount above costs - Percentage format: Whole number (e.g., "15" = 15%) - Fixed format: Dollar amount per call - Industry standard: 10-20% margins depending on vertical #### Duplicate Handling ##### Expired Bid Action - **Reject**: Don't accept bids that arrive after timeout - **Accept at Base**: Accept late bids at base bid price - **Accept at Last**: Honor the last valid bid price - Strategy: "Reject" for quality control, "Accept at Base" for volume ##### Bid Expiration - Seconds before bid requests expire - Default: 60 seconds - Longer timeouts for complex sales processes - Shorter timeouts for high-volume operations ##### Pay On Duplicates - Toggle ON to pay for repeat callers within window - Consider your duplicate prevention strategy - Industry variations: - Insurance: Usually disabled (NO) - Home Services: Often enabled (YES) ##### Duplicate Interval - Days before a caller is considered "new" again - Range: 1-365 days based on sales cycle - Common settings by vertical: - Insurance: 30-90 days - Home Services: 7-14 days - Finance/Lending: 90-180 days #### Request Limits ##### Max Requests Per Minute - Rate limiting per individual buyer - Prevents system abuse and ensures fair access - Default: 100 requests - Increase for high-volume, trusted buyers ##### Max Requests - Total daily request limit per buyer - Protects against unexpected cost spikes - Default: 100 requests - Calculate: Expected daily calls × safety factor of 2 ##### Time Limit Days - How long to remember and enforce limits - Default: 60 days - Impacts duplicate tracking accuracy - Longer periods = more accurate duplicate prevention ### Advanced Bidding Rules - CallGrid's Key Advantage **This is our biggest differentiator** - advanced bidding rules enable dynamic campaign management through tag-based overrides, allowing centralized control under a single campaign. #### Understanding Advanced Bidding Rules CallGrid's advanced bidding rules allow **campaign overrides based on any tag filters**, meaning you can modify bidding behavior based on: ##### Tag Filter Categories - **Buyer/Destination Tags**: BuyerName, BuyerCategory, BuyerRegion - **Source/Vendor Tags**: SourceName, VendorName, SourceCategory - **Custom Tags**: Any custom parameters you've defined - **Sub ID Tags**: Granular campaign tracking identifiers - **Geographic Tags**: InboundStateCode, InboundZipCode, InboundCity - **Time Tags**: Hour, DayOfWeek, CallDate - **Quality Tags**: CallDuration, SourceQuality, LeadScore #### Creating Advanced Bid Rules 1. Click "Add Rule" in the Bid Rules section 2. Name your rule descriptively 3. **Set conditions using ANY available tag** 4. Define adjustments to apply 5. Set priority order for multiple rules #### Strategic Bidding Rule Examples ##### Buyer-Based Optimization - Name: "Premium Buyer Discount" - Condition: BuyerCategory Equals "Preferred" - Adjustment: Base Bid -$2 - Use Case: Volume partnership rates ##### Source Performance Rewards - Name: "Google Traffic Premium" - Condition: SourceName Contains "Google" - Adjustment: Margin -3% - Use Case: Reward high-converting traffic sources ##### Custom Tag Routing - Name: "High-Value Sub ID" - Condition: SubID Equals "premium-landing" - Adjustment: Cost Plus Margin +10% - Use Case: Premium traffic monetization ##### Multi-Tag Combinations - Name: "CA Google Premium Hours" - Condition: InboundStateCode Equals "CA" AND SourceName Contains "Google" AND Hour Between 9-17 - Adjustment: Base Bid +$5 - Use Case: Stack multiple premium conditions #### #### Centralized Campaign Management **Key Benefit**: Because bidding rules can override based on **any tag filters**, you can: ✅ **Manage multiple buyer relationships** under one campaign ✅ **Handle different source types** with different pricing ✅ **Customize vendor payouts** without separate campaigns ✅ **Apply complex logic** all in the same interface ✅ **View all rules** in a compact, easy-to-scan format This eliminates the need for multiple campaigns and complex routing setups. ### Call Source Priorities - Duplicate Solution CallGrid's **Call Source Priorities** feature solves the duplicate bid problem by allowing you to **set priority rankings for your sources**. #### How Source Priorities Work When multiple sources send bid requests for the **same caller ID**: 1. **CallGrid compares source priorities** 2. **Highest priority source wins automatically** 3. **Lower priority sources are rejected** 4. **You control which sources you value most** #### Setting Up Source Priorities Navigate to: **Sources** → **Priority Settings** ##### Priority Configuration Priority 1: Google Ads Traffic Priority 2: Facebook Direct Priority 3: Native Network Priority 4: Affiliate Traffic ##### Strategic Benefits - **Quality Control**: Ensure best traffic sources get preference - **Revenue Optimization**: Higher-converting sources win duplicates - **Relationship Management**: Reward top-performing partners - **Delivery Optimization**: Media buyers can ensure better buyer delivery #### Advanced Priority Strategies ##### Performance-Based Tiers Tier 1: Conversion rate >15% Tier 2: Conversion rate 10-15% Tier 3: Conversion rate 5-10% Tier 4: Conversion rate <5% ##### Geographic Prioritization Priority 1: Local/Direct traffic Priority 2: Regional networks Priority 3: National networks Priority 4: General traffic ### Advanced Bid Adjustments Fine-tune bidding strategies based on any available tag characteristics. #### Adjustment Operations ##### Mathematical Operations - **Add**: Increase bid by specific amount (+$3) - **Subtract**: Decrease bid by amount (-$2) - **Multiply**: Percentage adjustment (×1.15) - **Set**: Override to specific amount (=$25) #### Tag-Based Adjustment Examples ##### State Performance Optimization InboundStateCode Equals "FL,TX,CA" → +$4 InboundStateCode Equals "WY,MT,ND" → -$3 ##### Source Quality Scoring SourceCategory Equals "Premium" → +$5 SourceName Contains "Google" → ×1.2 ##### Buyer Relationship Management BuyerCategory Equals "Preferred" → -$1 BuyerRegion Equals "West Coast" → +$2 ##### Custom Tag Optimization CustomTag_LeadScore > 8.5 → +$6 SubID Contains "premium" → ×1.25 ### Best Practices & Optimization #### Starting Configuration Strategy ##### Week 1: Conservative Foundation - Set conservative base bid (market average -10%) - Wide min/max bid spread (40-60% range) - Simple duration-based payout (90 seconds) - **Start with 2-3 simple rules maximum** - Focus on geographic or time-based rules first ##### Week 2-3: Source Priority Setup - **Configure source priorities** based on known performance - Add **buyer-based bid rules** for key relationships - Implement **basic custom tag filtering** - Monitor rule hit rates and performance ##### Month 2+: Advanced Optimization - **Complex multi-tag rules** with stacked conditions - **Performance-based source prioritization** - **Dynamic margin management** by tag combinations - **Seasonal and event-based adjustments** #### Common Setup Mistakes to Avoid ##### Rule Complexity Too Early - **Problem**: Complex multi-condition rules before baseline - **Solution**: Start with simple single-tag rules - **Impact**: Easier troubleshooting and optimization ##### Ignoring Source Priorities - **Problem**: Not configuring source priorities for duplicates - **Solution**: Set up priorities based on source quality - **Impact**: Better duplicate handling and revenue optimization ##### Tag Overload - **Problem**: Too many custom tags without clear purpose - **Solution**: Focus on tags that drive bidding decisions - **Impact**: Cleaner data and more effective rules ### Performance Monitoring & Analytics #### Key Performance Indicators ##### Rule Performance Metrics - **Rule Hit Rate**: Which rules activate most frequently - **Rule Revenue Impact**: Revenue attribution by rule - **Tag Effectiveness**: Which tags drive best performance - **Source Priority Wins**: Duplicate resolution success rate ##### Advanced Analytics - **Tag-Based Revenue**: Revenue by tag combinations - **Source Priority Performance**: Win rates by priority tier - **Rule Stacking Impact**: Multiple rule interaction analysis - **Custom Tag ROI**: Return on investment by custom parameters #### Optimization Signals ##### Rule Adjustments Needed - **Low rule hit rate**: Rules may be too restrictive - **High rule conflicts**: Priority order needs adjustment - **Poor tag performance**: Tag logic may need refinement - **Source priority failures**: Priority rankings need updates ### Troubleshooting Advanced Features #### Advanced Bidding Rules Issues ##### Rules Not Firing ✓ Check tag spelling and case sensitivity ✓ Verify tag data is being captured ✓ Review rule priority and conflicts ✓ Test with simplified conditions first ##### Unexpected Rule Behavior ✓ Review rule stacking and interactions ✓ Check for conflicting adjustment types ✓ Verify tag data types (string vs numeric) ✓ Test rules individually before combining #### Source Priority Problems ##### Duplicates Still Getting Through ✓ Verify source priority configuration ✓ Check caller ID matching accuracy ✓ Review duplicate time window settings ✓ Confirm source identification is working ##### Wrong Sources Winning ✓ Review priority rankings ✓ Check for source naming inconsistencies ✓ Verify priority logic is applied correctly ✓ Test with known duplicate scenarios ### Advanced Call Bidding Strategies #### Dynamic Tag-Based Management ##### Multi-Dimensional Optimization Combine geographic, source, buyer, and custom tags for sophisticated routing: Rule: "Premium CA Google Preferred Buyer" Condition: InboundStateCode="CA" AND SourceName Contains "Google" AND BuyerCategory="Preferred" Adjustment: Base Bid +$3, Margin -2% ##### Performance Feedback Loop Use custom tags to capture conversion data and optimize bidding: Rule: "High-Converting Source Bonus" Condition: SourceConversionRate > 15% Adjustment: Margin -5% Use Case: Reward high-performing sources with better pricing #### Centralized Campaign Architecture Instead of managing multiple campaigns, use one campaign with advanced rules: **Traditional Approach**: 5 separate campaigns - Google Traffic Campaign - Facebook Traffic Campaign - Premium Buyer Campaign - West Coast Campaign - High-Value Lead Campaign **CallGrid Approach**: 1 campaign with 5 bidding rules - All traffic centralized - All rules visible in one view - Easier management and optimization - Better performance tracking --- ## Why was my credit card declined? > CallGrid strives to provide a seamless billing experience. However, there are situations where your credit card may be declined. Source: https://callgrid.com/knowledge-base/why-was-my-credit-card-declined Last updated: 2025-09-24 CallGrid strives to provide a seamless billing experience. However, there are situations where your credit card may be declined. Here are some common reasons: **Insufficient Funds:** Ensure that your credit card has sufficient funds available to cover the charges. **Expired Card: **Check the expiration date on your credit card and update it if necessary. **Incorrect Information: **Verify that the card number, CVV, and billing address are correct. **Card Restrictions:** Some credit cards may have restrictions on online transactions or international payments. **3D Security Issues:** CallGrid's payment system supports major credit cards. **What to do if your credit card is declined:** **1. Check your card details:** Carefully review your credit card information to ensure accuracy. **2. Contact your bank:** If you suspect an issue with your card, contact your bank to inquire about any holds or restrictions. **3. Update your payment method: **You can update your payment method in the "Billing" section of your CallGrid account settings. **4. Alternative payment methods: **If you continue to experience issues, CallGrid may offer alternative payment methods, such as wire transfer. Please contact our support team for assistance. **Important Information:** CallGrid will notify you via email if there are any issues with your payment. Failure to resolve payment issues may result in account suspension or termination. --- ## How to Get Help with CallGrid > We believe great support is the difference between a tool and a partner. Source: https://callgrid.com/knowledge-base/how-to-get-help-with-callgrid Last updated: 2025-09-24 At CallGrid, we believe great support is the difference between a tool and a partner. Unlike other call tracking platforms that leave you drowning in documentation or waiting days for responses, we've built support into every layer of our platform. ### Quick Support Options #### 1. Support Email (Primary Contact) - **Email:** [support@callgrid.com](mailto:support@callgrid.com) - **Response Time:** < 12 hours during business hours - **Best For:** All questions, technical issues, billing inquiries, feature requests - **Pro Tip:** Include your Company ID and screenshot of any errors for faster resolution #### 2. Live Chat Support - **Available:** Monday-Friday, 8 AM - 5 PM PST - **Average Response Time:** < 15 minutes - **Best For:** Quick questions, real-time troubleshooting, urgent issues - **How to Access:** Click the chat widget in your dashboard or visit callgrid.com #### 3. Knowledge Base (Self-Service) - **URL:** support.callgrid.com - **Content:** 100+ articles, video tutorials, best practices - **Best For:** Learning at your own pace, implementation guides - **Available:** 24/7 - **Search Tip:** Use specific terms like "webhook," "RPC," or "LCB" ### Premium Support Channels #### Dedicated Account Manager (Growth Plans) - Direct email and phone access - Weekly check-ins available - Strategic guidance and optimization - Priority feature requests #### Implementation Specialist (Enterprise) - Dedicated onboarding support - Custom training sessions - Migration assistance from other platforms - API integration support ### Getting the Fastest Resolution #### Before You Reach Out: 1. **Check the Dashboard Alerts** - System status and known issues 2. **Search Knowledge Base** - Instant answers to common questions 3. **Review Recent Changes** - Did you modify any settings? #### When Contacting Support, Include: - **Company Name & ID** - Found in Account Settings - **Affected Campaign/Destination** - Specific names help us investigate faster - **Time of Issue** - Including timezone - **Steps to Reproduce** - What were you trying to do? - **Screenshots/Recordings** - Visual context speeds resolution ### Support by Feature Area #### Campaign & Routing Issues - **Specialty Team:** Yes - **Direct Contact:** Live chat for fastest response during business hours - **Common Issues:** Destination failures, routing logic, capacity problems #### Billing & Account - **Specialty Team:** Yes - **Email:** [billing@callgrid.com](mailto:billing@callgrid.com) - **Common Issues:** Payment methods, usage questions, invoices #### API & Integrations - **Specialty Team:** Yes - **Email:** [developers@callgrid.com](mailto:developers@callgrid.com) - **Resources:** API documentation, Postman collections, webhook templates ### What Makes CallGrid Support Different #### Direct Access to Experts Unlike traditional ticketing systems used by other platforms, our live chat and email support connects you directly with our technical team. No bouncing between departments. #### Real-Time System Status - Live platform status at status.callgrid.com - Proactive notifications for any issues - Transparent communication during incidents #### Community Resources - **CallGrid Community** - Connect with other power users - **Monthly Office Hours** - Live Q&A with product team - **Video Tutorial Library** - Step-by-step guides ### After-Hours Support **Support Hours:** Monday-Friday, 8 AM - 5 PM PST For critical issues outside business hours: 1. **Email:** [urgent@callgrid.com](mailto:urgent@callgrid.com) with "URGENT" in subject 2. **Include:** Impact scope (calls affected, revenue at risk) 3. **Expected Response:** First business day priority **Note:** Enterprise customers have access to extended support hours and emergency phone support. ### Pro Tips for CallGrid Success 1. **Use Live Chat First** - Fastest way to get help during business hours 2. **Batch Your Questions** - Make the most of support interactions 3. **Join Office Hours** - Monthly sessions cover new features and best practices 4. **Use Knowledge Base** - Available 24/7 for immediate answers ### We're Here to Help You Succeed At CallGrid, support isn't just about fixing problems—it's about helping you grow your business. Whether you're migrating from another platform, scaling your first campaign, or optimizing advanced routing, we're here every step of the way. **Ready to experience the CallGrid difference?** Start a live chat in your dashboard or email us at [support@callgrid.com](mailto:support@callgrid.com).