{"id":38837745,"url":"https://github.com/umnagendra/cce-task-routing","last_synced_at":"2026-01-17T13:57:22.700Z","repository":{"id":50228703,"uuid":"86427775","full_name":"umnagendra/cce-task-routing","owner":"umnagendra","description":"A simple library (node module) for Cisco Unified CCE Task Routing","archived":false,"fork":false,"pushed_at":"2017-09-26T12:57:43.000Z","size":11,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-23T04:37:24.197Z","etag":null,"topics":["api-wrapper","cce","cisco","contact-center","contactcenter","rest-api","rest-client","task-routing"],"latest_commit_sha":null,"homepage":"https://developer.cisco.com/site/task-routing/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umnagendra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-28T07:19:18.000Z","updated_at":"2025-04-26T18:43:07.000Z","dependencies_parsed_at":"2022-09-26T21:01:08.575Z","dependency_job_id":null,"html_url":"https://github.com/umnagendra/cce-task-routing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/umnagendra/cce-task-routing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umnagendra%2Fcce-task-routing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umnagendra%2Fcce-task-routing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umnagendra%2Fcce-task-routing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umnagendra%2Fcce-task-routing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umnagendra","download_url":"https://codeload.github.com/umnagendra/cce-task-routing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umnagendra%2Fcce-task-routing/sbom","scorecard":{"id":908636,"data":{"date":"2025-08-11","repo":{"name":"github.com/umnagendra/cce-task-routing","commit":"ce4b30814ebda90dc95e1df931f59ea74f3b89de"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/18 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-24T18:20:20.156Z","repository_id":50228703,"created_at":"2025-08-24T18:20:20.156Z","updated_at":"2025-08-24T18:20:20.156Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28509695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","cce","cisco","contact-center","contactcenter","rest-api","rest-client","task-routing"],"created_at":"2026-01-17T13:57:22.595Z","updated_at":"2026-01-17T13:57:22.683Z","avatar_url":"https://github.com/umnagendra.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cce-task-routing\n[![npm package](https://nodei.co/npm/cce-task-routing.png?downloads=true\u0026downloadRank=true\u0026stars=true)](https://nodei.co/npm/cce-task-routing/)\n\n[![Build Status](https://travis-ci.org/umnagendra/cce-task-routing.svg?branch=master)](https://travis-ci.org/umnagendra/cce-task-routing)\n[![Dependency Status](https://david-dm.org/Askrround/cce-task-routing.svg?theme=shields.io)](https://david-dm.org/Askrround/cce-task-routing)\n[![license](https://img.shields.io/npm/l/cce-task-routing.svg)](LICENSE)\n[![npm downloads](https://img.shields.io/npm/dm/cce-task-routing.svg)](https://img.shields.io/npm/dm/cce-task-routing.svg)\n\nA simple library (node module) for Cisco Unified CCE Task Routing\n\n## What is Cisco Unified CCE Task Routing?\nRead more here: https://developer.cisco.com/site/task-routing/\n\n## System Requirements\n* nodejs \u003e= 6.0.0\n\n## Installation\n`npm install cce-task-routing`\n\n## Usage\n\n### Initialize the module\nProvide details of your Unified CCE deployment, specifically:\n\n```javascript\nvar taskRouter = require('cce-task-routing')\n\ntaskRouter.init('socialminer.example.com', 100001, true);\n```\n#### Parameters\n* `socialMinerHost` - Fully-qualified hostname, or IP address of Cisco SocialMiner\n* `taskFeedID` - The numeric ID of the feed in Cisco SocialMiner configured for pushing Tasks\n* `secure` - (Optional, Default = `true`) Boolean value indicating whether the module communicates securely (over TLS)\n\n### Create a task request\nEvery task contains a `name`, a `title`, a `description` and identifies a `scriptSelector` which basically maps to the right Media Routing Domain (MRD) in Unified CCE so that the task can be placed in the right queue, and the right agent from the right skill group can be assigned to work on it.\n\nAlso, there is a large variable space of 10 __Call Variables__ and 10 __ECC Variables__ which can be populated in the task which could describe routing attributes, media properties etc.\n\n```javascript\n// create an ordered array of call variables\nvar callVarsArray = [\"callVar_value_1\", \"callVar_value_2\", \"callVar_value_3\",\n                     \"callVar_value_4\", \"callVar_value_5\", \"callVar_value_6\"];\n\n// create an ordered array of ECC variables\nvar eccVarsArray = [\"eccVar_value_1\", \"eccVar_value_2\", \"eccVar_value_3\",\n                    \"eccVar_value_4\", \"eccVar_value_5\", \"eccVar_value_6\"];\n\n// for `other` variables, create a javascript Map (ES05 spec.)\nvar otherVarsMap = new Map();\notherVarsMap.set(\"podRefURL\", \"https://cs.com/context/pod/v1/podId/b066c3c0-c346-11e5-b3dd-3f1450b33459\");\notherVarsMap.set(\"Social_Security_No\", \"876587357461\");\n\n// The call to create a task returns a Promise, which when resolved\n// provides the Ref URL of the newly created Task (in case of success)\nvar createRequest = cceTaskRouter.createTaskRequest('someName', 'someTitle',\n                                                    'someDescription', 'someScriptSelector',\n                                                    callVarsArray, eccVarsArray, otherVarsMap, true);\n\n// define behavior on how to resolve the Promise\ncreateRequest.then (function(response) {\n    // the `response` is a String that contains the refURL of the newly created task.\n    console.log('Task created successfully. RefURL of created task = ' + response);\n    // Preserve this and use it for all further operations on the same task.\n}).catch (function(error) {\n    console.log('Oops! Something went wrong.');\n});\n```\n#### Parameters\n* `name` - Mandatory. The name of the task\n* `title` - Mandatory. The title of the task\n* `description` - Mandatory. A description for the task\n* `scriptSelector` - Mandatory. A valid scriptSelector, or _dialedNumber_ configured in the Unified CCE inventory\n* `callVarsArray` - Optional. An ordered array of variable values which will be mapped in order (from 1 through 10)\n                  with call variable names\n* `eccVarsArray` - Optional. An ordered array of variable values which will be mapped in order (from 1 through 10)\n                 with _user_ (ECC) variable names\n* `otherVarsMap` - Optional. An ES05 Map object representing key-value pairs that will be added to the task\n* `requeueOnRecovery` - Optional. Default = `false`. Determines whether this task (if, not yet routed)\n                      should be re-queued into the Unified CCE queue upon recovery from a crash\n\n### Query status of created task\nOnce a task has been created, the __refURL__ of the task (returned from `createTaskRequest()`) can be used to query/poll the status of the task as it flows through the Unified CCE deployment. This function also provides the _Estimated Wait Time_ (EWT) for the created task to be assigned to an agent.\n\n```javascript\n// The call to query the status of a task returns a Promise, which when resolved\n// provides an object that contains the `status` and `statusReason` of the task\nvar queryRequest = cceTaskRouter.getTaskStatus(taskRefURL);\n\n// define behavior on how to resolve the Promise\nqueryRequest.then (function(response) {\n    // the `response` is an object that contains the `status` and `statusReason` of the task\n    console.log('Status of Task with RefURL \\'' + taskRefURL + '\\' is ' + JSON.stringify(response));\n}).catch (function(error) {\n    console.log('Oops! Something went wrong.');\n});\n```\n#### Parameters\n* `taskRefURL` - The RefURL of the created task (returned from `createTaskRequest()`)\n\n### Cancel task\nOnce a task has been created, before it is routed to an agent, it is possible to __cancel__ the task.\n\n```javascript\n// The call to cancel a task returns a Promise, however there is no data\n// in the response that is useful beyond the result of the request (success/failure)\nvar cancelRequest = cceTaskRouter.cancelTaskRequest(taskRefURL);\n\n// define behavior on how to resolve the Promise\ncancelRequest.then (function(response) {\n    // the `response` does not really contain any data. Just indicates a successful cancellation.\n    console.log('Task with RefURL \\'' + taskRefURL + '\\' cancelled successfully.');\n}).catch (function(error) {\n    console.log('Oops! Something went wrong.');\n});\n```\n#### Parameters\n* `taskRefURL` - The RefURL of the created task (returned from `createTaskRequest()`)\n\n## Licenses\n__MIT License__\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n__External Licenses__\n\nCisco®, Cisco SocialMiner® etc. are registered trademarks of [Cisco Systems, Inc.](http://www.cisco.com/web/siteassets/legal/trademark.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumnagendra%2Fcce-task-routing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumnagendra%2Fcce-task-routing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumnagendra%2Fcce-task-routing/lists"}