In Cisco's Contact Center Enterprise, configuration of Precision Queus is done solely through the CCE Web Administration interface (as opposed to the Configuration Manager win32 application on the AW). This includes creating Attributes, Precision Queues, and assigning attributes to agents.
This web interface is driven by the Unified Config API, which you can see by inspecting the POST and GET requests your browser makes to the web interface. I used Firebug in Firefox, then Poster to test the API. Below is an example of how to create one of each type of PQ Attribute.
Encode your admin user credentials in base64, formatted like this:
administrator@my.domain.com:secretpassword
It will look like this:
YWRtaW5pc3RyYXRvckBteS5kb21haW4uY29tOnNlY3JldHBhc3N3b3Jk
Use HTTP POST to this URI:
https://aw.my.domain.com/unifiedconfig/config/attribute?async=true
Set the Content Type to:
application/xml
And add this header:
Authorization
with the value:
Basic YWRtaW5pc3RyYXRvckBteS5kb21haW4uY29tOnNlY3JldHBhc3N3b3Jk
That is, "Basic", followed by a space, followed by your base64-encoded admin credentials.
Now, set the content to the following for a Boolean PQ Attribute type that is default true:
<attribute>
<department/>
<name>MyBooleanAttribute</name>
<description>This is a Boolean Attribute</description>
<dataType>3</dataType>
<defaultValue>true</defaultValue>
</attribute>
Or use this for a Proficiency PQ Attribute type that defaults to 5 (out of 10):
<attribute>
<department/>
<name>MyProficiencyAttribute</name>
<description>This is a Proficiency Attribute</description>
<dataType>4</dataType>
<defaultValue>5</defaultValue>
</attribute>
I'm using UCCE 10.5 for this, so I don't have departments, but you would in Packaged CCE 10.0 or 10.5.
Update: I maxxed out the queue using curl and awk to insert a bunch of PQ Attributes from a text file list. It looks like it processed about 60 or 70 before it stopped accepting new requests. Here is the error message I received:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<apiErrors>
<apiError>
<errorMessage>Request processing queue is at capacity.</errorMessage>
<errorType>asyncQueueLimit.maxQueueSize</errorType>
</apiError>
</apiErrors>