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.

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
- Log into your NICE inContact Admin Portal
- Navigate to API Applications or API Management
- Create or locate your API application
- Generate or retrieve your Bearer authentication token
- Ensure the token has permissions for real-time data access
- Copy the token securely (you'll need this for the integration)
Step 2: Configure CallGrid Integration
Phase 1: Basic Template Setup
- Navigate to your CallGrid destination settings
- Click the Webhook tab
- Enable Webhook Integration
- Enable Template Mode
- Select NICE inContact from the Agent Availability templates
- 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
- 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.

Request Configuration
URL Structure The webhook URL is automatically generated:
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.

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:
- Fill in your Bearer Authentication Token in the configuration box
- Provide test values for tag:CallerId and tag:InboundStateCode
- Click Run Webhook button to test the connection
- Verify the test passes and shows your current skills activity data
- 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:
- Dynamic Skill Matching: CallGrid sends caller information to determine skill requirements
- Real-time Availability: The system checks for agents with matching skills who are available
- Context-Aware Routing: Uses caller ID and state for intelligent skill-based routing
- 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:
- After entering Bearer token, click Save Webhook
- Review the auto-generated URL and authentication headers
Advanced Configuration Test:
- In the advanced configuration screen, provide test values for variables
- Click Run Webhook to test the connection
- Verify the API response contains expected skills activity data
- Test different acceptance criteria
Live Integration Test:
- Monitor CallGrid logs for successful API calls
- Verify skills activity data is being parsed correctly
- 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
CallGrid Support
If you need assistance with this integration:
- Check the CallGrid logs for error messages
- Verify all configuration parameters
- Test API connectivity using provided curl commands
- Contact CallGrid support with integration details
Related Articles
Continue exploring with these related insights
CallGrid Bid API - Advanced Integration Guide
The CallGrid Bid API allows custom platforms and developers to send real-time bid requests to CallGrid campaigns.
Read ArticlePosting 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.
Read ArticleCall Recording Best Practices
Call recording laws vary by state. Some states require only your consent, while others require everyone's consent (all-party consent).
Read ArticleGetting Started with CallGrid
Welcome to CallGrid! This guide will walk you through your first steps to get your account up and running quickly.
Read ArticleAuthor
CallGrid Team
Article Info
Categories
Topics