# 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
