Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

EIM 4.3.2 - Query to tell agents online or who have EIM skills (integrated)


I have posted so many topics on EIM, I figured I would send a few helpful queries out to other users.

For IPCC integrated EIM, we have our agents enter in the agent ID on the activity panel (via new data element in activity table, and add field to agent desktop via Tools panel), have them save this value. Then transfer to our agent transfer queue. We map this new field to Variable1 in the EIM Queue Configuration.

Within the IPCC routing script that takes the agent transfers, we do several string compares against string variables that contain a list of valid agent EIM agent ID's, and then we queue to a skillgroup. using the formula:



In an admin script we have following:

       Global.userSA_Valid_EIM_IDs1 = "1001,1298,1301,1502,1605,3156,2016,"

       Global.userSA_Valid_EIM_IDs2 = "1201,2298,2301,3502,1405,5156,"

In our case, we then queue for 60 mins before dropping the email to a general queue.. that MUST be in the same MRD as the skill you attempted to send the email too.

Our agents then asked for a way for them to know which agents are using EIM.

So, assuming you are using the IPCC data adapter, here is a query for you.

See the attached screen shot for setting up just the 'link' not the usage link (which you still need to do)


    select  distinct Agent.PeripheralNumber as IPCC_Agent_ID,
        Person.FirstName +  ', ' + Person.LastName as Agent_Name,
           when exists (
            select abs(1)
                Agent_Real_Time ART left outer join Media_Routing_Domain MRD on MRD.MRDomainID = ART.MRDomainID
            -- = 5000 ->  this would be your Media Class ID for EIM select * from Media_Class
            where  Agent.SkillTargetID = ART.SkillTargetID and MRD.MediaClassID = 5000) then
        end as Agent_Online

    from   Agent left outer join Person on Person.PersonID = Agent.PersonID,
        Skill_Group_Member SGM,
        Skill_Group SG,
        Media_Routing_Domain MRD

    where    Agent.Deleted = 'N' and
        Agent.PeripheralID = Peripheral.PeripheralID and
        Agent.PersonID = Person.PersonID and
        Agent.SkillTargetID = SGM.AgentSkillTargetID and
        SG.SkillTargetID = SGM.SkillGroupSkillTargetID AND
        SG.MRDomainID = MRD.MRDomainID and
        MRD.MediaClassID = 5000 and

            -- = 5003, 5004, 5005, 5006 ->  this would probably be your Media Routing Domain ID for EIM select * from Media_Routing_Domain

            -- You may just have one
         MRD.MRDomainID in (5003,5004,5005,5006)

If you would like more explanations on this, let me know.



Re: EIM 4.3.2 - Query to tell agents online or who have EIM skil


Is the first part about allowing integrated agents the ability to transfer emails to other integrated agents?

The way I did that was to create an ICM Script Selector for each agent, and in EIM create a corresponding queue for each script selector. So there are a few queues, but a naming convention helps group them - they all start with "AQ" (AQ_John_Smith).

The agent picks the person they want to transfer to, and this causes a route request in ICM.

I map all the script selectors to one call type and run a single script with just one Queue to Agent node. The script selector has the agent peripheral number on the end, so I pull that off the Dialed_Number with substring() and queue implicitly.

All agents are in a special "Q2Agent" skill group - and there is an Enterprise Skill Group with that one skill, and an Enterprise Route with the one route - all needed by Queue To Agent implicit.



Re: EIM 4.3.2 - Query to tell agents online or who have EIM skil

Yup, unfortunately our business unit did not want to assign a skill per agent so we needed to find the next best way we could do it.

Hopefully the integration get's a little tighter in the next version so we don't have to come up with things like this.


CreatePlease to create content