{"_id":"579bb2575623be2200832650","project":"55c8cff571d7580d0063a5e5","user":"571fcfeea0acd42000af95be","__v":0,"category":{"_id":"57624356653c2d2200fec7a7","__v":0,"version":"57624356653c2d2200fec79c","project":"55c8cff571d7580d0063a5e5","sync":{"url":"","isSync":false},"reference":true,"createdAt":"2016-05-16T21:10:28.598Z","from_sync":false,"order":22,"slug":"account-queue","title":"Account Queues"},"parentDoc":null,"version":{"_id":"57624356653c2d2200fec79c","__v":20,"project":"55c8cff571d7580d0063a5e5","createdAt":"2016-06-16T06:12:38.244Z","releaseDate":"2016-06-16T06:12:38.244Z","categories":["57624356653c2d2200fec79d","57624356653c2d2200fec79e","57624356653c2d2200fec79f","57624356653c2d2200fec7a0","57624356653c2d2200fec7a1","57624356653c2d2200fec7a2","57624356653c2d2200fec7a3","57624356653c2d2200fec7a4","57624356653c2d2200fec7a5","57624356653c2d2200fec7a6","57624356653c2d2200fec7a7","57624356653c2d2200fec7a8","57624356653c2d2200fec7a9","57624356653c2d2200fec7aa","5779ca1b99b40b0e005abb3a","5779d198aea88b0e00f63277","5797d3ab17ced017003c4be4","57ac170ef1cdae0e0053cdfc","57dbfc723ed3450e00dc9e6d","5804d12d16161c0f0077df9b","5841064b652e5b0f0015a7c8","588b5e5f2966b2230009cbf9","58a68ebf3239fa0f00857619","58c23c8b4922930f0050ac91","58fd1460809fc30f00f2ee07","5934eaf5328680002d77de6a","594bf91601cfe6000f40f4c5","595c4ed696b447001ba0cf6d","596524495cee50001575f5be","5970d4f1313162004dd303b5","59780fac24dbd1001a1fa057","59a8cfd3ead78a002d63cafe","59e0323d93da1f001c9ec170"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"4.0.0","version":"4"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-07-29T19:45:27.300Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":true,"order":0,"body":"Queues are used when you want to direct calls to a pool of phone numbers and/or extensions.  A common utilization of queues is for Customer Service call centers.\n\nWhen a queue is configured on your phone number, Phone.com will route incoming calls to members of the queue.  If a queue member is already on another call, our service rings the next phone number or extension in the queue. While your callers are waiting to be connected, you can choose to play Hold Music.\n\n## Supported Services\n* [List Queues](doc:list-account-queues) \n* [Create Queue](doc:create-account-queue) \n* [Get Queue](doc:get-account-queue) \n* [Replace Queue](doc:replace-account-queue) \n* [Delete Queue](doc:delete-account-queue) \n\n## Summary Object\nThe Queue Summary Object is used to briefly represent a calling queue. It can be seen in several places throughout this API. Here are the properties:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Property\",\n    \"h-1\": \"Description\",\n    \"h-2\": \"\",\n    \"0-0\": \"`id`\",\n    \"0-1\": \"Integer ID. Read-only.\",\n    \"0-2\": \"\",\n    \"1-0\": \"`name`\",\n    \"1-1\": \"Name. Required.\",\n    \"1-2\": \"\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\nHere is an example:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n    \\\"id\\\": 625462,\\n    \\\"name\\\": \\\"4th Floor Call Center\\\"\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n## Full Object\nThe Full QueueObject has the same properties as the Queue Summary Object, along with the following:\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"`greeting`\",\n    \"1-0\": \"`hold_music`\",\n    \"2-0\": \"`max_hold_time`\",\n    \"3-0\": \"`caller_id_type`\",\n    \"4-0\": \"`ring_time`\",\n    \"5-0\": \"`members`\",\n    \"h-0\": \"Property\",\n    \"h-1\": \"Description\",\n    \"h-2\": \"Description\",\n    \"1-2\": \"[Hold Music](doc:account-media) to be played while callers are waiting. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object). Optional. Must refer to a media recording that has `is_hold_music` set to `TRUE`.  Default is to play a standard ring tone.\",\n    \"0-2\": \"[Greeting](doc:account-media) to be played when caller first connects. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object). Optional. Must refer to a media recording that has `is_hold_music` set to `FALSE`.  Default is to play no greeting.\",\n    \"0-1\": \"[Greeting](doc:account-media) to be played when caller first connects. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object).  Must refer to a media recording that has `is_hold_music` set to `FALSE`.  Can be set to `NULL` to disable the greeting.\",\n    \"1-1\": \"[Hold Music](doc:account-media) to be played while callers are waiting. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object).  Must refer to a media recording that has `is_hold_music` set to `TRUE`.  Default is to play a standard ring tone.\",\n    \"2-1\": \"Maximum hold time in seconds.  If provided, must equal one of: 60, 120, 180, 240, 300, 600, 900, 1200, 1800, 2700, 3600.  Default is 300.\",\n    \"3-1\": \"Caller id type to show members.  If provided, must equal one of: 'called_number', 'calling_number'. Default is 'calling_number'.\",\n    \"4-1\": \"Number of seconds to ring a member before cycling to the next member. If provided, must equal one of: 5, 10, 15, 20, 25, 30.  Default is 5.\",\n    \"5-1\": \"Array of [Member Objects](#section-member-objects). Non-virtual account extensions or phone numbers.  See below for details.\"\n  },\n  \"cols\": 2,\n  \"rows\": 6\n}\n[/block]\n## Member Object\nThe Member Object is used to add a non-virtual extension or a phone number.\n\nHere is an example of a non-virtual extension member:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Property\",\n    \"h-1\": \"Description\",\n    \"0-1\": \"[Extension](doc:account-extensions) that this member refers to. Output is an [Extension Summary Object](doc:account-extensions#section-summary-object). Input must be an [Extension Lookup Object](doc:account-extensions#section-lookup-object).\",\n    \"0-0\": \"`extension`\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\nHere is an example of a phone number member:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Property\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"'phone_number'\",\n    \"0-1\": \"Phone number\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\n## Lookup Object\nThe Queue Lookup Object is used to link to a queue from another object. This is used, for example, when defining actions for [routes](doc:account-routes).  Only *one* of the following properties need to be included. If multiple are specified, then *all* properties must match one of your queues.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Property\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"`id`\",\n    \"0-1\": \"ID\",\n    \"1-0\": \"`name`\",\n    \"1-1\": \"Name\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\nHere are some examples:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"queue: {\\n    \\\"id\\\": 1215135\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"queue: {\\n    \\\"name\\\": \\\"4th Floor Call Center\\\"\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\nInstead of inputting an object, you can also use a scalar value.  A queue will be found if the input matches any one of the above fields.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"queue: \\\"4th Floor Call Center\\\"\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"account-queues","type":"basic","title":"Queues"}
Queues are used when you want to direct calls to a pool of phone numbers and/or extensions. A common utilization of queues is for Customer Service call centers. When a queue is configured on your phone number, Phone.com will route incoming calls to members of the queue. If a queue member is already on another call, our service rings the next phone number or extension in the queue. While your callers are waiting to be connected, you can choose to play Hold Music. ## Supported Services * [List Queues](doc:list-account-queues) * [Create Queue](doc:create-account-queue) * [Get Queue](doc:get-account-queue) * [Replace Queue](doc:replace-account-queue) * [Delete Queue](doc:delete-account-queue) ## Summary Object The Queue Summary Object is used to briefly represent a calling queue. It can be seen in several places throughout this API. Here are the properties: [block:parameters] { "data": { "h-0": "Property", "h-1": "Description", "h-2": "", "0-0": "`id`", "0-1": "Integer ID. Read-only.", "0-2": "", "1-0": "`name`", "1-1": "Name. Required.", "1-2": "" }, "cols": 2, "rows": 2 } [/block] Here is an example: [block:code] { "codes": [ { "code": "{\n \"id\": 625462,\n \"name\": \"4th Floor Call Center\"\n}", "language": "json" } ] } [/block] ## Full Object The Full QueueObject has the same properties as the Queue Summary Object, along with the following: [block:parameters] { "data": { "0-0": "`greeting`", "1-0": "`hold_music`", "2-0": "`max_hold_time`", "3-0": "`caller_id_type`", "4-0": "`ring_time`", "5-0": "`members`", "h-0": "Property", "h-1": "Description", "h-2": "Description", "1-2": "[Hold Music](doc:account-media) to be played while callers are waiting. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object). Optional. Must refer to a media recording that has `is_hold_music` set to `TRUE`. Default is to play a standard ring tone.", "0-2": "[Greeting](doc:account-media) to be played when caller first connects. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object). Optional. Must refer to a media recording that has `is_hold_music` set to `FALSE`. Default is to play no greeting.", "0-1": "[Greeting](doc:account-media) to be played when caller first connects. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object). Must refer to a media recording that has `is_hold_music` set to `FALSE`. Can be set to `NULL` to disable the greeting.", "1-1": "[Hold Music](doc:account-media) to be played while callers are waiting. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#lookup-object). Must refer to a media recording that has `is_hold_music` set to `TRUE`. Default is to play a standard ring tone.", "2-1": "Maximum hold time in seconds. If provided, must equal one of: 60, 120, 180, 240, 300, 600, 900, 1200, 1800, 2700, 3600. Default is 300.", "3-1": "Caller id type to show members. If provided, must equal one of: 'called_number', 'calling_number'. Default is 'calling_number'.", "4-1": "Number of seconds to ring a member before cycling to the next member. If provided, must equal one of: 5, 10, 15, 20, 25, 30. Default is 5.", "5-1": "Array of [Member Objects](#section-member-objects). Non-virtual account extensions or phone numbers. See below for details." }, "cols": 2, "rows": 6 } [/block] ## Member Object The Member Object is used to add a non-virtual extension or a phone number. Here is an example of a non-virtual extension member: [block:parameters] { "data": { "h-0": "Property", "h-1": "Description", "0-1": "[Extension](doc:account-extensions) that this member refers to. Output is an [Extension Summary Object](doc:account-extensions#section-summary-object). Input must be an [Extension Lookup Object](doc:account-extensions#section-lookup-object).", "0-0": "`extension`" }, "cols": 2, "rows": 1 } [/block] Here is an example of a phone number member: [block:parameters] { "data": { "h-0": "Property", "h-1": "Description", "0-0": "'phone_number'", "0-1": "Phone number" }, "cols": 2, "rows": 1 } [/block] ## Lookup Object The Queue Lookup Object is used to link to a queue from another object. This is used, for example, when defining actions for [routes](doc:account-routes). Only *one* of the following properties need to be included. If multiple are specified, then *all* properties must match one of your queues. [block:parameters] { "data": { "h-0": "Property", "h-1": "Description", "0-0": "`id`", "0-1": "ID", "1-0": "`name`", "1-1": "Name" }, "cols": 2, "rows": 2 } [/block] Here are some examples: [block:code] { "codes": [ { "code": "queue: {\n \"id\": 1215135\n}", "language": "json" } ] } [/block] [block:code] { "codes": [ { "code": "queue: {\n \"name\": \"4th Floor Call Center\"\n}", "language": "json" } ] } [/block] Instead of inputting an object, you can also use a scalar value. A queue will be found if the input matches any one of the above fields. [block:code] { "codes": [ { "code": "queue: \"4th Floor Call Center\"", "language": "json" } ] } [/block]