{"id":8455,"date":"2020-01-02T12:03:54","date_gmt":"2020-01-02T12:03:54","guid":{"rendered":"https:\/\/www.botreetechnologies.com\/blog\/?p=8455"},"modified":"2020-12-04T18:05:39","modified_gmt":"2020-12-04T12:35:39","slug":"how-to-achieve-looping-in-ivr-with-twilio-using-ruby","status":"publish","type":"post","link":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/","title":{"rendered":"Looping in IVR with Twilio in Rails App"},"content":{"rendered":"\n<p>While working on an application, we came up with a situation where we had a couple of dynamic questions, which need to be answered via IVR. We are using Twilio as our <a href=\"https:\/\/www.botreetechnologies.com\/blog\/extracting-text-from-image-using-google-cloud-vision-ocr-with-ruby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">cloud<\/a> communication platform.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is IVR?<\/h2>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Interactive_voice_response\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Interactive Voice Response(IVR)<\/a> is a technology that allows a computer to interact with humans through the use of voice and DTMF tones input via a keypad. ( Source: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Interactive_voice_response\" target=\"_blank\" rel=\"noopener noreferrer\">Wikipedia<\/a>)<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/interactive-voice-response.jpg\" alt=\"Interactive Voice Response\" class=\"wp-image-13345\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/interactive-voice-response.jpg 1024w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/interactive-voice-response-300x150.jpg 300w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/interactive-voice-response-768x384.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">What is Twilio?<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.twilio.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Twilio<\/a> is a cloud communications platform as a service company based in San Francisco, California. Twilio allows software developers to programmatically make and receive phone calls and send and receive text messages using its web service APIs.( Source: <a href=\"https:\/\/www.tringuyenminh92.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Power BI Geeks<\/a> )<\/p>\n\n\n\n<p>Here we are using<a href=\"https:\/\/github.com\/twilio\/twilio-ruby\" target=\"_blank\" rel=\"noopener noreferrer\"> twilio-ruby<\/a> gem for IVR.<\/p>\n\n\n\n<p>You can get the basic knowledge about <a href=\"https:\/\/www.botreetechnologies.com\/ruby-on-rails-development\">IVR and implement it using Ruby on Rails<\/a> with this link:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.twilio.com\/docs\/voice\/tutorials\/ivr-phone-tree-ruby-rails\">https:\/\/www.twilio.com\/docs\/voice\/tutorials\/ivr-phone-tree-ruby-rails<\/a><\/p>\n\n\n\n<p>So let us start with the looping problem:<\/p>\n\n\n\n<p><strong>Approach 1:<\/strong><\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/0cb8f05c519ce8c18803a69f6943a576.js\"><\/script><\/p>\n\n\n\n<p>We tried to use each loop, but it always returned after the first iteration and then didn\u2019t go further for the second iteration.<\/p>\n\n\n\n<p>So, we came up with the solution where we used the session variable for the dynamic looping in IVR.<\/p>\n\n\n\n<p><strong>Approach 2:<\/strong><\/p>\n\n\n\n<p>This is the complete flow diagram, how we achieved dynamic looping in IVR:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"900\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/flow-diagram-dynamic-looping-in-interactive-voice-response.jpg\" alt=\"Flow Diagram Dynamic Looping in IVR\" class=\"wp-image-13346\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/flow-diagram-dynamic-looping-in-interactive-voice-response.jpg 800w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/flow-diagram-dynamic-looping-in-interactive-voice-response-267x300.jpg 267w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/flow-diagram-dynamic-looping-in-interactive-voice-response-768x864.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure><\/div>\n\n\n\n<p>This process will keep on asking questions until all the questions are not answered. That\u2019s how we achieved dynamic looping in IVR using Twilio.<\/p>\n\n\n\n<p>So let us take one example. There is one app with multiple surveys.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/8fc0f209cdf11baa1157751f0d78effe.js\"><\/script><\/p>\n\n\n\n<p>Each survey has multiple questions.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/a80c993ddd4de7afcc7ee4939a9f576c.js\"><\/script><\/p>\n\n\n\n<p>We added two actions for handling this communication in a controller which will be used for asking and answering the single question.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/aff2d999c26ace9d2411a717f2700c0d.js\"><\/script><\/p>\n\n\n\n<p>So, what we are going to do is we will ask for the survey id from the caller, and on the basis of that, we will ask the question via IVR for that survey.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/f311dd5806631ae27229f910d8588238.js\"><\/script><\/p>\n\n\n\n<p>So in order to ask questions via looping, what we did, we made one hash that contains the key-pair value of question_id and question. Then we stored this hash into <strong>session[params[:Caller]]<\/strong>.<\/p>\n\n\n\n<p>Now we have the list of questions. So let us add it to <strong>params[:Caller]<\/strong><\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/b6e1108dade8bed5b60ad12db638e781.js\"><\/script><\/p>\n\n\n\n<p>Now we will pass redirect to the method which asks the questions.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/9b57e4f075d66abfebcb6e8cefb77a8c.js\"><\/script><\/p>\n\n\n\n<p>Then we made one action for asking questions, where we picked the first key-pair value of the hash stored in the session and passed that value(question) to the action for answering.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/f78f5a19d7e3988fb77578a350eb88c5.js\"><\/script><\/p>\n\n\n\n<p>After the question is answered we deleted that key-pair value from the hash stored in the session.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/400b6be035fe3ee261893a53905ade8c.js\"><\/script><\/p>\n\n\n\n<p>This procedure will make one loop of multiple actions of question-answer which will run until hash does not have any value(question).<\/p>\n\n\n\n<p>Once the hash becomes empty, we clear the session and disconnect the call from the server-side.<\/p>\n\n\n\n<p>Here is a complete controller file.<\/p>\n\n\n\n<p><script src=\"https:\/\/gist.github.com\/NeelVGohel\/f4b1ea072ef0e8a146855858e21febfe.js\"><\/script><\/p>\n\n\n\n<p>So,&nbsp; This is how we can achieve Looping in IVR in case you are using Twilio.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Read Also: <a href=\"https:\/\/www.botreetechnologies.com\/blog\/integrating-google-cloud-vision-api-with-ruby-for-image-object-detection\" target=\"_blank\" rel=\"noopener noreferrer\">Integrating Google Cloud Vision API with Ruby for Image Object Detection<\/a><\/p><\/blockquote>\n\n\n\n<p><strong><a href=\"https:\/\/www.botreetechnologies.com\/ruby-on-rails-development\"><b>Click here for more<\/b>\u00a0details<\/a>\u2026<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.botreetechnologies.com\/contact\" target=\"_blank\" rel=\"noopener noreferrer\">Consulting is free<\/a>&nbsp;\u2013 let us help you grow!<\/h3>\n","protected":false},"excerpt":{"rendered":"<p>While working on an application, we came up with a&#8230;<\/p>\n","protected":false},"author":52,"featured_media":13344,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73,10],"tags":[],"class_list":["post-8455","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ruby-on-rails","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ruby on Rails development: Looping in IVR with Twilio - BoTree Technologies<\/title>\n<meta name=\"description\" content=\"Use Twilio with IVR in Ruby on Rails development to achieve looping. Here&#039;s the complete process in Ruby on Rails web application development.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby on Rails development: Looping in IVR with Twilio - BoTree Technologies\" \/>\n<meta property=\"og:description\" content=\"Use Twilio with IVR in Ruby on Rails development to achieve looping. Here&#039;s the complete process in Ruby on Rails web application development.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/\" \/>\n<meta property=\"og:site_name\" content=\"BoTree Technologies\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BoTreeTechnologies\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-02T12:03:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-12-04T12:35:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Neel Gohel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:site\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Neel Gohel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/\"},\"author\":{\"name\":\"Neel Gohel\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d5c2f4cee1b7f1d440927ad9ee3dfd35\"},\"headline\":\"Looping in IVR with Twilio in Rails App\",\"datePublished\":\"2020-01-02T12:03:54+00:00\",\"dateModified\":\"2020-12-04T12:35:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/\"},\"wordCount\":516,\"commentCount\":9,\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg\",\"articleSection\":[\"Ruby on Rails\",\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/\",\"name\":\"Ruby on Rails development: Looping in IVR with Twilio - BoTree Technologies\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg\",\"datePublished\":\"2020-01-02T12:03:54+00:00\",\"dateModified\":\"2020-12-04T12:35:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d5c2f4cee1b7f1d440927ad9ee3dfd35\"},\"description\":\"Use Twilio with IVR in Ruby on Rails development to achieve looping. Here's the complete process in Ruby on Rails web application development.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg\",\"width\":1920,\"height\":1280,\"caption\":\"IVR with Twilio using Ruby\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.botreetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Looping in IVR with Twilio in Rails App\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/\",\"name\":\"BoTree Technologies\",\"description\":\"Committed to inspire generation.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d5c2f4cee1b7f1d440927ad9ee3dfd35\",\"name\":\"Neel Gohel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/neel-gohel-150x150.png\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/neel-gohel-150x150.png\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/neel-gohel-150x150.png\",\"caption\":\"Neel Gohel\"},\"description\":\"Neel is a Ruby on Rails Developer. He loves Ruby, JavaScript and problem-solving. Also, he is fond of Football and Gaming.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ruby on Rails development: Looping in IVR with Twilio - BoTree Technologies","description":"Use Twilio with IVR in Ruby on Rails development to achieve looping. Here's the complete process in Ruby on Rails web application development.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/","og_locale":"en_US","og_type":"article","og_title":"Ruby on Rails development: Looping in IVR with Twilio - BoTree Technologies","og_description":"Use Twilio with IVR in Ruby on Rails development to achieve looping. Here's the complete process in Ruby on Rails web application development.","og_url":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/","og_site_name":"BoTree Technologies","article_publisher":"https:\/\/www.facebook.com\/BoTreeTechnologies\/","article_published_time":"2020-01-02T12:03:54+00:00","article_modified_time":"2020-12-04T12:35:39+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg","type":"image\/jpeg"}],"author":"Neel Gohel","twitter_card":"summary_large_image","twitter_creator":"@BoTreeTech","twitter_site":"@BoTreeTech","twitter_misc":{"Written by":"Neel Gohel","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#article","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/"},"author":{"name":"Neel Gohel","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d5c2f4cee1b7f1d440927ad9ee3dfd35"},"headline":"Looping in IVR with Twilio in Rails App","datePublished":"2020-01-02T12:03:54+00:00","dateModified":"2020-12-04T12:35:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/"},"wordCount":516,"commentCount":9,"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg","articleSection":["Ruby on Rails","Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/","url":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/","name":"Ruby on Rails development: Looping in IVR with Twilio - BoTree Technologies","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage"},"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg","datePublished":"2020-01-02T12:03:54+00:00","dateModified":"2020-12-04T12:35:39+00:00","author":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d5c2f4cee1b7f1d440927ad9ee3dfd35"},"description":"Use Twilio with IVR in Ruby on Rails development to achieve looping. Here's the complete process in Ruby on Rails web application development.","breadcrumb":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#primaryimage","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/01\/interactive-voice-response-with-twilio-using-ruby.jpg","width":1920,"height":1280,"caption":"IVR with Twilio using Ruby"},{"@type":"BreadcrumbList","@id":"https:\/\/www.botreetechnologies.com\/blog\/how-to-achieve-looping-in-ivr-with-twilio-using-ruby\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.botreetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Looping in IVR with Twilio in Rails App"}]},{"@type":"WebSite","@id":"https:\/\/www.botreetechnologies.com\/blog\/#website","url":"https:\/\/www.botreetechnologies.com\/blog\/","name":"BoTree Technologies","description":"Committed to inspire generation.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d5c2f4cee1b7f1d440927ad9ee3dfd35","name":"Neel Gohel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/neel-gohel-150x150.png","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/neel-gohel-150x150.png","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/neel-gohel-150x150.png","caption":"Neel Gohel"},"description":"Neel is a Ruby on Rails Developer. He loves Ruby, JavaScript and problem-solving. Also, he is fond of Football and Gaming."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/8455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=8455"}],"version-history":[{"count":2,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/8455\/revisions"}],"predecessor-version":[{"id":13348,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/8455\/revisions\/13348"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media\/13344"}],"wp:attachment":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=8455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=8455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=8455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}