{"id":18646,"date":"2018-11-16T17:21:58","date_gmt":"2018-11-16T17:21:58","guid":{"rendered":"https:\/\/www.intercom.com\/blog\/?p=18646"},"modified":"2020-07-30T12:55:25","modified_gmt":"2020-07-30T11:55:25","slug":"how-to-get-up-and-running-with-messenger-apps-using-ngrok","status":"publish","type":"post","link":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/","title":{"rendered":"How to get up and running with Messenger Apps using ngrok"},"content":{"rendered":"<p>Back in April, we released our <a href=\"https:\/\/www.intercom.com\/blog\/new-business-messenger\/\" target=\"_blank\" rel=\"noopener noreferrer\">biggest ever update<\/a> to our Messenger \u2013 we completely rethought how a messenger designed for business should work.<\/p>\n<p>One of the key developments was Messenger Apps, integrations with third-party apps and tools you use everyday. These are built right into the Intercom Messenger and can be installed from our <a href=\"https:\/\/www.intercom.com\/blog\/app-store\" target=\"_blank\" rel=\"noopener noreferrer\">Intercom App Store<\/a>, or you can build them yourself. This gives you the power to integrate and build the most important tools for your workflow, making the Messenger extremely customizable.<\/p>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" title=\"App store - Messenger apps Video\" src=\"https:\/\/fast.wistia.net\/embed\/iframe\/cn4l4oz4y0?dnt=1&#038;videoFoam=true#?secret=2UcOjHpQvq\" data-secret=\"2UcOjHpQvq\" frameborder=\"0\" scrolling=\"no\" width=\"100%\" height=\"100%\"><\/iframe><\/p>\n<h2 id=\"simplify-your-app-development-process\">Simplify your app development process<\/h2>\n<p>One tool we and the developers over on <a href=\"https:\/\/community.intercom.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">our community forum<\/a> found really useful when <a href=\"https:\/\/developers.intercom.com\/messenger-framework-reference\/reference\" target=\"_blank\" rel=\"noopener noreferrer\">developing Messenger Apps<\/a> was <a href=\"https:\/\/ngrok.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">ngrok<\/a>. This simple tool allows you to create public URLs, which expose a web server on your development machine. You can use these to set the webhook URLs while developing your app. This makes the development process really lightweight, since you can play around by building an app without any additional infrastructure, such as access to an external server. This can dramatically speed up the process of starting to build Messenger Apps.<\/p>\n<h2 id=\"get-started-with-ngrok\">Get started with ngrok<\/h2>\n<p>If you want to get started straight away, you can download <a href=\"https:\/\/ngrok.com\/download\" target=\"_blank\" rel=\"noopener noreferrer\">ngrok<\/a> here. I\u2019ve included a <a href=\"https:\/\/gist.github.com\/laurmurclar\/3d171b3b33b4cc056889ff3bdfb0c5b9\" target=\"_blank\" rel=\"noopener noreferrer\">simple example node server<\/a> for you to copy as a starting point.<\/p>\n<p>To begin, you\u2019ll need to tell ngrok which port your server is listening on. My server is listening on port 3000, so I would run the command:<\/p>\n<p><span style=\"background-color: #fdf1db;\"><code> $ ngrok http 3000 <\/code><\/span><\/p>\n<p>You should then see something like:<\/p>\n<p><a href=\"https:\/\/gist.github.com\/laurmurclar\/e7fab58943b9b638ed3366f26a1ceb16\"><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png\" alt=\"example ngrok console output\" \/><\/a><\/p>\n<p>There\u2019s a bunch of things happening here, so let\u2019s break it down.<\/p>\n<ul>\n<li><em><strong>Session Status and Session Expires<\/strong> &#8211; ngrok limits your sessions to eight hours on the free version. You can pay to get longer sessions.<\/em><\/li>\n<li><em><strong>Version<\/strong> &#8211; the version of ngrok you are running<\/em><\/li>\n<li><em><strong>Region<\/strong> &#8211; the location of the datacenter where your tunnel is being hosted<\/em><\/li>\n<li><em><strong>Web Interface<\/strong> &#8211; Open this URL in a browser to see the extremely useful UI mentioned in the tips below.<\/em><\/li>\n<li><em><strong>Forwarding<\/strong> &#8211; the public URLs which point to your machine<\/em><\/li>\n<\/ul>\n<p>At this point, you have a tunnel to your server. This is useful on its own, as it means your development server is exposed to the outside world. Try making requests to your tunnel URLs \u2013 you will see that they hit your local server.<\/p>\n<p>Note: You don\u2019t need to stop ngrok when you\u2019re stopping &amp; starting your server. It\u2019s just pointing to a port; it doesn\u2019t notice whether or not something is listening there. The free version of ngrok will generate a new address each time you run it, so it\u2019s often easier to just leave it running. You can easily update the URL in the Developer Hub if you do generate a new URL.<\/p>\n<h2 id=\"three-things-i-found-really-useful\">Three things I found really useful<\/h2>\n<h3><span style=\"color: #f6bb4b;\">1.<\/span> Inspecting traffic using the web interface<\/h3>\n<p>Using the web interface mentioned above (accessible at <a href=\"http:\/\/localhost:4040\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/localhost:4040<\/a>), you can do some really useful things. You\u2019ll need to make some requests first, or else you\u2019ll just see this:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/no-requests-to-display-yet.png\" alt=\"No requests to display yet\" \/><\/p>\n<p>My server (<a href=\"https:\/\/gist.github.com\/laurmurclar\/3d171b3b33b4cc056889ff3bdfb0c5b9\" target=\"_blank\" rel=\"noopener noreferrer\">Gist here<\/a>) has two endpoints <code><span style=\"background-color: #fdf1db;\">\/initialize<\/span><\/code> and <code><span style=\"background-color: #fdf1db;\">\/submit<\/span><\/code> so I\u2019ll go ahead and save those in the Developer Hub:<\/p>\n<p><img decoding=\"async\" style=\"border: 1px solid #cfcfcf;\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/saving-endpoints-in-developer-hub.gif\" alt=\"Saving your two endpoints to your server\" \/><\/p>\n<p>Now I\u2019ll make a request to the <code><span style=\"background-color: #fdf1db;\">\/initialize<\/span><\/code> endpoint by adding my app to my Messenger Home:<\/p>\n<p><img decoding=\"async\" style=\"border: 1px solid #cfcfcf;\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/make-the-request-to-the-initialize-endpoint.gif\" alt=\"Making a request to the endpoint\" \/><\/p>\n<p>As you can see, this resulted in a POST request to my <code><span style=\"background-color: #fdf1db;\">\/initialize<\/span><\/code> endpoint:<\/p>\n<p><img decoding=\"async\" style=\"border: 1px solid #cfcfcf;\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/lauras-post-request.png\" alt=\"Laura's post request\" \/><\/p>\n<p>Let\u2019s open the web interface. We can use it to inspect the traffic. You can see the request:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/web-interface-request.png\" alt=\"ngrok web interface request\" \/><\/p>\n<p>If you scroll down, you\u2019ll see the response below the request:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/web-interface-response.png\" alt=\"ngrok web interface response\" \/><\/p>\n<h3><span style=\"color: #f6bb4b;\">2.<\/span> Replaying Requests<\/h3>\n<p>You might notice the \u201cReplay\u201d button at the top of the request section:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/replay-button-in-request-section.png\" alt=\"Replay button in the request section\" \/><\/p>\n<p>You can use this to replay the request so you don\u2019t have to keep manually adding your app to Messenger Home in order to re-trigger the <code><span style=\"background-color: #fdf1db;\">\/initialize<\/span><\/code> request. This ends up being a huge time saver.<\/p>\n<h3><span style=\"color: #f6bb4b;\">3.<\/span> Request and Response Validation<\/h3>\n<p>Another convenient feature of the web interface is the way it validates the body of the request and response. To demonstrate this, I\u2019ve changed my server to return some badly formatted JSON for the <code><span style=\"background-color: #fdf1db;\">\/initialize<\/span><\/code> request. I\u2019ve replayed the request using the ngrok web interface.<\/p>\n<p>Here\u2019s the result:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/this-isnt-proper-json.png\" alt=\"result of the replay on the ngrok web interface\" \/><\/p>\n<p>You can see that ngrok has highlighted the fact that this isn\u2019t valid JSON \u2013 in this case, we\u2019re missing quotes around the <em>text<\/em> key. This is obviously super useful for debugging your app as you develop it.<\/p>\n<p>As you explore all the power and potential of Messenger Apps, you\u2019ll find this tool invaluable \u2013 ngrok is fantastic and very easy to use (plus, the <a href=\"https:\/\/ngrok.com\/docs\" target=\"_blank\" rel=\"noopener noreferrer\">docs<\/a> are great!). It can help you build an app in a matter of hours. If you\u2019re looking for inspiration, check out the <a href=\"https:\/\/www.intercom.com\/blog\/app-store\" target=\"_blank\" rel=\"noopener noreferrer\">Intercom App Store<\/a> to see what others are building. Or, if you want to get going right away, check out the <a href=\"https:\/\/developers.intercom.com\/building-apps\/docs\/messenger-framework\" target=\"_blank\" rel=\"noopener noreferrer\">docs<\/a> on building apps.<\/p>\n<hr \/>\n\n","protected":false},"excerpt":{"rendered":"<p>Back in April, we released our biggest ever update to our Messenger \u2013 we completely rethought how a messenger designed for business should work. One of the key developments was Messenger Apps, integrations with third-party apps&hellip;<\/p>\n","protected":false},"author":286,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"category":[12898],"tags":[],"coauthors":[638],"class_list":["post-18646","post","type-post","status-publish","format-standard","hentry","category-engineering"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>3 Tips on Using Ngrok to Maximize Messenger Apps<\/title>\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.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to get up and running with Messenger Apps using ngrok\" \/>\n<meta property=\"og:description\" content=\"Back in April, we released our biggest ever update to our Messenger \u2013 we completely rethought how a messenger designed for business should work. One of the key developments was Messenger Apps, integrations with third-party apps&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/\" \/>\n<meta property=\"og:site_name\" content=\"The Intercom Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/intercominc\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-16T17:21:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-30T11:55:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png\" \/>\n<meta name=\"author\" content=\"Laura Murphy-Clarkin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@LaurMurClar\" \/>\n<meta name=\"twitter:site\" content=\"@intercom\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Laura Murphy-Clarkin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/\"},\"author\":{\"name\":\"Laura Murphy-Clarkin\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/7a25a68367873268f678206b84a696a2\"},\"headline\":\"How to get up and running with Messenger Apps using ngrok\",\"datePublished\":\"2018-11-16T17:21:58+00:00\",\"dateModified\":\"2020-07-30T11:55:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/\"},\"wordCount\":826,\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png\",\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/\",\"name\":\"3 Tips on Using Ngrok to Maximize Messenger Apps\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png\",\"datePublished\":\"2018-11-16T17:21:58+00:00\",\"dateModified\":\"2020-07-30T11:55:25+00:00\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png\",\"width\":608,\"height\":319,\"caption\":\"example ngrok console output\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"name\":\"The Intercom Blog\",\"description\":\"Articles and Podcasts on Customer Service, AI and Automation, Product, and more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\",\"name\":\"The Intercom Blog\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"width\":1000,\"height\":1000,\"caption\":\"The Intercom Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/intercominc\",\"https:\\\/\\\/x.com\\\/intercom\",\"https:\\\/\\\/www.instagram.com\\\/intercom\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/2491343\",\"https:\\\/\\\/www.pinterest.ie\\\/intercom\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCJG0MvLP03kyzzAkD-w98aQ\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Intercom_(company)\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/7a25a68367873268f678206b84a696a2\",\"name\":\"Laura Murphy-Clarkin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ae5250ea46a8b2cab67d57824439c1594b758fffdbbc733e229f5e44c97317c?s=96&d=mm&r=pg90b7d5a231b3f77cd765fe3f29268ac8\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ae5250ea46a8b2cab67d57824439c1594b758fffdbbc733e229f5e44c97317c?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ae5250ea46a8b2cab67d57824439c1594b758fffdbbc733e229f5e44c97317c?s=96&d=mm&r=pg\",\"caption\":\"Laura Murphy-Clarkin\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/LaurMurClar\"],\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/author\\\/laurmurclar\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"3 Tips on Using Ngrok to Maximize Messenger Apps","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.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/","og_locale":"en_US","og_type":"article","og_title":"How to get up and running with Messenger Apps using ngrok","og_description":"Back in April, we released our biggest ever update to our Messenger \u2013 we completely rethought how a messenger designed for business should work. One of the key developments was Messenger Apps, integrations with third-party apps&hellip;","og_url":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/","og_site_name":"The Intercom Blog","article_publisher":"https:\/\/www.facebook.com\/intercominc","article_published_time":"2018-11-16T17:21:58+00:00","article_modified_time":"2020-07-30T11:55:25+00:00","og_image":[{"url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png","type":"","width":"","height":""}],"author":"Laura Murphy-Clarkin","twitter_card":"summary_large_image","twitter_creator":"@LaurMurClar","twitter_site":"@intercom","twitter_misc":{"Written by":"Laura Murphy-Clarkin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/#article","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/"},"author":{"name":"Laura Murphy-Clarkin","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/7a25a68367873268f678206b84a696a2"},"headline":"How to get up and running with Messenger Apps using ngrok","datePublished":"2018-11-16T17:21:58+00:00","dateModified":"2020-07-30T11:55:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/"},"wordCount":826,"publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png","articleSection":["Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/","url":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/","name":"3 Tips on Using Ngrok to Maximize Messenger Apps","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/#primaryimage"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png","datePublished":"2018-11-16T17:21:58+00:00","dateModified":"2020-07-30T11:55:25+00:00","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/how-to-get-up-and-running-with-messenger-apps-using-ngrok\/#primaryimage","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2018-11-15-at-5.14.44-p.m..png","width":608,"height":319,"caption":"example ngrok console output"},{"@type":"WebSite","@id":"https:\/\/www.intercom.com\/blog\/#website","url":"https:\/\/www.intercom.com\/blog\/","name":"The Intercom Blog","description":"Articles and Podcasts on Customer Service, AI and Automation, Product, and more","publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.intercom.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.intercom.com\/blog\/#organization","name":"The Intercom Blog","url":"https:\/\/www.intercom.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","width":1000,"height":1000,"caption":"The Intercom Blog"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/intercominc","https:\/\/x.com\/intercom","https:\/\/www.instagram.com\/intercom\/","https:\/\/www.linkedin.com\/company\/2491343","https:\/\/www.pinterest.ie\/intercom\/","https:\/\/www.youtube.com\/channel\/UCJG0MvLP03kyzzAkD-w98aQ","https:\/\/en.wikipedia.org\/wiki\/Intercom_(company)"]},{"@type":"Person","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/7a25a68367873268f678206b84a696a2","name":"Laura Murphy-Clarkin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4ae5250ea46a8b2cab67d57824439c1594b758fffdbbc733e229f5e44c97317c?s=96&d=mm&r=pg90b7d5a231b3f77cd765fe3f29268ac8","url":"https:\/\/secure.gravatar.com\/avatar\/4ae5250ea46a8b2cab67d57824439c1594b758fffdbbc733e229f5e44c97317c?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ae5250ea46a8b2cab67d57824439c1594b758fffdbbc733e229f5e44c97317c?s=96&d=mm&r=pg","caption":"Laura Murphy-Clarkin"},"sameAs":["https:\/\/x.com\/LaurMurClar"],"url":"https:\/\/www.intercom.com\/blog\/author\/laurmurclar\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/18646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/users\/286"}],"replies":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/comments?post=18646"}],"version-history":[{"count":0,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/18646\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media?parent=18646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/category?post=18646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/tags?post=18646"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/coauthors?post=18646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}