{"id":12915,"date":"2025-03-31T07:49:46","date_gmt":"2025-03-31T14:49:46","guid":{"rendered":"https:\/\/www.coretechnologies.com\/blog\/?p=12915"},"modified":"2025-03-31T07:52:10","modified_gmt":"2025-03-31T14:52:10","slug":"control-applications-with-chatgpt","status":"publish","type":"post","link":"https:\/\/www.coretechnologies.com\/blog\/alwaysup-web-service\/control-applications-with-chatgpt\/","title":{"rendered":"How We Control Our AlwaysUp Applications From ChatGPT"},"content":{"rendered":"<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"no-lazy-load\" src=\"\/blog\/images\/robots-controlling-web-services.webp\" style=\"margin-bottom:10px;\" title=\"How We Control Our AlwaysUp Applications From ChatGPT\" alt=\"How We Control Our AlwaysUp Applications From ChatGPT\" border=\"0\" width=\"519\" height=\"320\" \/><\/div>\n<div id=\"blog-toc-container\" style=\"margin-top:20px;\">\n<p id=\"blog-toc-title\">In this article&#8230;<\/p>\n<ul>\n<li><a href=\"#why-integrate-with-ai\">Why integrate with AI?<\/a><\/li>\n<li><a href=\"#integration-overview\">What does integration look like?<\/a><\/li>\n<li><a href=\"#connect-alwaysup-chatgpt\">How we connected AlwaysUp and ChatGPT<\/a>\n<ul>\n<li><a href=\"#step1\">Step 1: Installed AlwaysUp Web Service<\/a><\/li>\n<li><a href=\"#step2\">Step 2: Allowed AlwaysUp Web Service through the firewall<\/a><\/li>\n<li><a href=\"#step3\">Step 3: Generated a SSL certificate for AlwaysUp Web Service<\/a><\/li>\n<li><a href=\"#step4\">Step 4: Configured networking<\/a><\/li>\n<li><a href=\"#step5\">Step 5: Plugged AlwaysUp Web Service into ChatGPT<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#working-with-chatgpt\">Examples of working with our AlwaysUp applications from ChatGPT<\/a><\/li>\n<li><a href=\"#your-thoughts\">Your thoughts?<\/a><\/li>\n<\/ul>\n<\/div>\n<p><a name=\"why-integrate-with-ai\"><\/a><\/p>\n<h2 class=\"blog-caption\">Why integrate with AI?<\/h2>\n<p>The current generation of Artificial Intelligence (AI) is rapidly evolving. Indeed, we&#8217;ve moved from playfully going back and forth with <a href=\"https:\/\/www.ibm.com\/think\/topics\/chatbots\" target=\"_blank\">conversational chatbots<\/a> to relying on adept <a href=\"https:\/\/www.ibm.com\/think\/topics\/ai-agents\" target=\"_blank\">autonomous agents<\/a> at breakneck speed.<\/p>\n<p>And like every other software development shop on the planet, we&#8217;ve been thinking about how these astonishing new technologies will impact our corner of the world. In particular, <b>can AI help our customers get more value from our professional products?<\/b><\/p>\n<p>In our view, the answer to that question is a resounding &#8220;yes&#8221;. Even though it&#8217;s still early days, we anticipate a state where natural language will be the primary interface for most software, even desktop applications like ours. Why click when you can speak?<\/p>\n<p>With that in mind, this article discusses one technique to bring <a href=\"\/products\/AlwaysUp\/\">AlwaysUp<\/a> &mdash; our popular run-anything-24&#215;7 tool &mdash; into the AI world. We&#8217;ll show how we connected AlwaysUp to <a href=\"https:\/\/openai.com\/chatgpt\/overview\/\" target=\"_blank\">OpenAI&#8217;s ChatGPT<\/a>, so that we can effortlessly check, start or stop our applications from a chat interface. You&#8217;ll see how this work allows us to have conversations that take action, like this:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-start-google-drive-in-alwaysup-animated.gif\" class=\"zoomPopup\" title=\"Start Google Drive from ChatGPT\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-start-google-drive-in-alwaysup-animated.gif\" title=\"Start Google Drive from ChatGPT (click to enlarge)\" alt=\"Start Google Drive from ChatGPT\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>Cool, right?<\/p>\n<p><a name=\"integration-overview\"><\/a><\/p>\n<h2 class=\"blog-caption\">What does integration look like?<\/h2>\n<p>The &#8220;bridge&#8221; between ChatGPT &mdash; which runs in the cloud &mdash; and AlwaysUp &mdash; which runs on your computer &mdash; is our free <a href=\"\/products\/AlwaysUp\/AlwaysUpWebService\/\">AlwaysUp Web Service<\/a> tool. When everything&#8217;s in place, we communicate with ChatGPT, ChatGPT tells AlwaysUp Web Service what to do and AlwaysUp Web Service manipulates our AlwaysUp applications.<\/p>\n<p>This is what the final arrangement looks like:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-driving-alwaysup-web-service.png\" class=\"zoomPopup\" title=\"ChatGPT driving AlwaysUp Web Service\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-driving-alwaysup-web-service.png\" title=\"ChatGPT driving AlwaysUp Web Service (click to enlarge)\" alt=\"ChatGPT driving AlwaysUp Web Service\" border=\"0\" \/><\/a><\/div>\n<p>The next section recounts how we implemented this solution.<\/p>\n<hr class=\"blog-section\">\n<p><a name=\"connect-alwaysup-chatgpt\"><\/a><\/p>\n<h2 class=\"blog-caption\">How we connected AlwaysUp and ChatGPT<\/h2>\n<p><a name=\"step1\"><\/a><\/p>\n<h3 class=\"blog-caption\">Step 1: Installed AlwaysUp Web Service<\/h3>\n<p>First, we installed AlwaysUp Web Service. We <a href=\"\/products\/AlwaysUp\/AlwaysUpWebService\/AlwaysUpWebService_Installer.exe\">downloaded the installer<\/a>, ran it, and followed the straightforward prompts to complete the deployment. It only took a minute to do that.<\/p>\n<p>In the settings, we enabled HTTPS because it will be needed to communicate securely with ChatGPT later on:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/alwaysup-web-service-enable-https.png\" class=\"zoomPopup\" title=\"HTTPS enabled in AlwaysUp Web Service\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/alwaysup-web-service-enable-https.png\" title=\"HTTPS enabled in AlwaysUp Web Service (click to enlarge)\" alt=\"HTTPS enabled in AlwaysUp Web Service\" border=\"0\" \/><\/a><\/div>\n<p><a name=\"step2\"><\/a><\/p>\n<h3 class=\"blog-caption\">Step 2: Allowed AlwaysUp Web Service through the firewall<\/h3>\n<p>Next, we relaxed the computer&#8217;s Windows firewall rules to permit AlwaysUp Web Service to receive network traffic:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/allow-alwaysup-web-service-through-firewall.png\" class=\"zoomPopup\" title=\"AlwaysUp Web Service allowed through the firewall\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/allow-alwaysup-web-service-through-firewall.png\" title=\"AlwaysUp Web Service allowed through the firewall (click to enlarge)\" alt=\"AlwaysUp Web Service allowed through the firewall\" border=\"0\" width=\"520\" \/><\/a><\/div>\n<p><a name=\"step3\"><\/a><\/p>\n<h3 class=\"blog-caption\">Step 3: Generated a SSL certificate for AlwaysUp Web Service<\/h3>\n<p>At this point, we generated a <a href=\"https:\/\/www.digicert.com\/what-is-an-ssl-certificate\" target=\"_blank\">SSL certificate<\/a> for our computer hosting AlwaysUp, auws.coretechnologies.com.<\/p>\n<p>Afterwards, we copied both the SSL certificate and the key into the AlwaysUp Web Service certificates folder, overwriting the &#8220;certificate.pem&#8221; and &#8220;certificate-key.pem&#8221; files already there:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/alwaysup-web-service-certificate-files.png\" class=\"zoomPopup\" title=\"SSL certificate files installed\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/alwaysup-web-service-certificate-files.png\" title=\"SSL certificate files installed (click to enlarge)\" alt=\"SSL certificate files installed\" border=\"0\" width=\"520\" \/><\/a><\/div>\n<\/li>\n<\/li>\n<p>Doing so instructed AlwaysUp Web Service to use our new certificate the next time it started.<\/p>\n<p><a name=\"step4\"><\/a><\/p>\n<h3 class=\"blog-caption\">Step 4: Configured networking<\/h3>\n<p>To receive instructions from ChatGPT, AlwaysUp Web Service must be accessible from the Internet. Of course, there are several ways to do that, but for our situation we:<\/p>\n<ol style=\"margin-bottom:24px\">\n<li>\n<p>Set up a port forwarding rule in our router to map port 443 to port 8585 on the machine where AlwaysUp Web Service is running:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/port-forwarding-alwaysup-web-service.png\" class=\"zoomPopup\" title=\"Port forwarding configured\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/port-forwarding-alwaysup-web-service.png\" title=\"Port forwarding configured (click to enlarge)\" alt=\"Port forwarding configured\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>Created a DNS A Record for auws.coretechnologies.com that points to the IP address of our router:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/dns-for-auws.coretechnologies.com.png\" class=\"zoomPopup\" title=\"DNS A record created\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/dns-for-auws.coretechnologies.com.png\" title=\"DNS A record created (click to enlarge)\" alt=\"DNS A record created\" border=\"1\" \/><\/a><\/div>\n<\/li>\n<\/li>\n<\/ol>\n<p>Those adjustments created a &#8220;tunnel&#8221; from the Internet to AlwaysUp Web Service. Afterwards, we were able to connect to the site from a web browser:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/access-alwaysup-web-service-from-browser.png\" class=\"zoomPopup\" title=\"Connected to AlwaysUp Web Service\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/access-alwaysup-web-service-from-browser.png\" title=\"Connected to AlwaysUp Web Service (click to enlarge)\" alt=\"Connected to AlwaysUp Web Service\" border=\"1\" \/><\/a><\/div>\n<p>Almost there!<\/p>\n<p><a name=\"step5\"><\/a><\/p>\n<h3 class=\"blog-caption\">Step 5: Plugged AlwaysUp Web Service into ChatGPT<\/h3>\n<p>Next, we switched context to ChatGPT and deployed a new general purpose <a href=\"https:\/\/openai.com\/index\/introducing-gpts\/\" target=\"_blank\">Custom GPT<\/a> to interact with AlwaysUp. Even though that wasn&#8217;t necessary &mdash; using an existing GPT would have been fine &mdash; we thought it best to test in an isolated environment.<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/create-new-custom-gpt-for-alwaysup.png\" class=\"zoomPopup\" title=\"New Custom GPT created\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/create-new-custom-gpt-for-alwaysup.png\" title=\"New Custom GPT created (click to enlarge)\" alt=\"New Custom GPT created\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>To tell the GPT how to call AlwaysUp Web Service, we added a new <a href=\"https:\/\/platform.openai.com\/docs\/actions\/\" target=\"_blank\">Action<\/a>. As shown in the next screenshot, we specified:<\/p>\n<ul style=\"margin-bottom:24px\">\n<li>\n<p>No authentication (we&#8217;ll handle that later)<\/p>\n<\/li>\n<li>\n<p>The OpenAI schema for AlwaysUp Web Service (which was generated by ChatGPT itself from our published documentation!)<\/p>\n<\/li>\n<li>\n<p>The URL of our privacy policy (required for publicly accessible GPT&#8217;s)<\/p>\n<\/li>\n<\/ul>\n<div align=\"center\"><a href=\"\/blog\/images\/add-alwaysup-actions-to-custom-gpt.png\" class=\"zoomPopup\" title=\"New GPT action added\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/add-alwaysup-actions-to-custom-gpt.png\" title=\"New GPT action added (click to enlarge)\" alt=\"New GPT action added\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>You can see that the GPT discovered three endpoints &mdash; used to start, stop or get the status AlwaysUp applications.<\/p>\n<p>However, when we tested the integration with the buttons at the bottom of the form, the operation failed because the password that ChatGPT used was incorrect. In any event, the GPT recognized the problem and was smart enough to request the password:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/get-application-status-failed-incorrect-password.png\" class=\"zoomPopup\" title=\"ChatGPT failed to get application status\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/get-application-status-failed-incorrect-password.png\" title=\"ChatGPT failed to get application status (click to enlarge)\" alt=\"ChatGPT failed to get application status\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>Fortunately, the request succeeded once we supplied the MD5 hash of the password:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/get-application-status-succeeded.png\" class=\"zoomPopup\" title=\"Get application status succeeded\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/get-application-status-succeeded.png\" title=\"Get application status succeeded (click to enlarge)\" alt=\"Get application status succeeded\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>At this point, it looked like we were all set. We confidently deployed the GPT to make it available to our team.<\/p>\n<p>In the next section, we&#8217;ll take a look at how we&#8217;re using the integration today.<\/p>\n<hr class=\"blog-section\">\n<p><a name=\"working-with-chatgpt\"><\/a><\/p>\n<h2 class=\"blog-caption\">Examples of working with our AlwaysUp applications from ChatGPT<\/h2>\n<p>With ChatGPT involved, it&#8217;s now super easy to check what applications are running in AlwaysUp:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-check-running-applications.png\" class=\"zoomPopup\" title=\"Checking running applications from ChatGPT\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-check-running-applications.png\" title=\"Checking running applications from ChatGPT (click to enlarge)\" alt=\"Checking running applications from ChatGPT\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>You can see that stopping an application is just as straightforward:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-stop-application.png\" class=\"zoomPopup\" title=\"Stopping an AlwaysUp application from ChatGPT\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-stop-application.png\" title=\"Stopping an AlwaysUp application from ChatGPT (click to enlarge)\" alt=\"Stopping an AlwaysUp application from ChatGPT\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>As is starting an application:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-start-application.png\" class=\"zoomPopup\" title=\"Starting an AlwaysUp application from ChatGPT\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-start-application.png\" title=\"Starting an AlwaysUp application from ChatGPT (click to enlarge)\" alt=\"Starting an AlwaysUp application from ChatGPT\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>Furthermore, the AI is smart enough to string together a stop and a start when asked to restart:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-restart-application.png\" class=\"zoomPopup\" title=\"Restarting an AlwaysUp application from ChatGPT\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-restart-application.png\" title=\"Restarting an AlwaysUp application from ChatGPT (click to enlarge)\" alt=\"Restarting an AlwaysUp application from ChatGPT\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>To our delight, the new assistant is able to provide interesting information too. For example, it can tell us when an application was last started:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-check-application-start-time.png\" class=\"zoomPopup\" title=\"ChatGPT checking application start time\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-check-application-start-time.png\" title=\"ChatGPT checking application start time (click to enlarge)\" alt=\"ChatGPT checking application start time\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>And with a little more information, it will happily compute application uptime:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-check-application-uptime.png\" class=\"zoomPopup\" title=\"ChatGPT computes application uptime\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-check-application-uptime.png\" title=\"ChatGPT computes application uptime (click to enlarge)\" alt=\"ChatGPT computes application uptime\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>Apparently the GPT can also interrogate AlwaysUp&#8217;s settings because it&#8217;s able to report the correct Windows user account hosting an application:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/chatgpt-check-user-account.png\" class=\"zoomPopup\" title=\"ChatGPT reports user account information\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/chatgpt-check-user-account.png\" title=\"ChatGPT reports user account information (click to enlarge)\" alt=\"ChatGPT reports user account information\" border=\"1\" width=\"520\" \/><\/a><\/div>\n<p>So far, we&#8217;ve very, very impressed!<\/p>\n<hr class=\"blog-section\">\n<p><a name=\"your-thoughts\"><\/a><\/p>\n<h2 class=\"blog-caption\">Your thoughts?<\/h2>\n<p>So what do you think about using AI with our products? Do you look forward to improvements and should we be pushing more aggressively in that direction? Or do you plan to limit your encounters with machine learning for as long as possible?<\/p>\n<p>And if you&#8217;re on board with AI, what engines do you favor? At this point, neither <a href=\"https:\/\/gemini.google.com\/\" target=\"_blank\">Google Gemini<\/a> nor <a href=\"https:\/\/www.llama.com\/\" target=\"_blank\">Meta Llama<\/a> offer the flexible integration points to make the work above possible, but that will surely change as the technologies evolve.<\/p>\n<p>We&#8217;d love to hear your thoughts, so <b>please share your impressions<\/b> in the comment section below.<\/p>\n<div style=\"margin-top:30px\" align=\"center\">\n<div class=\"cta-button-1\">\n<table role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"left\">\n<tbody>\n<tr>\n<td align=\"center\"><a href=\"\/blog\/tag\/alwaysup-tag\/\" title=\"More articles about AlwaysUp\"><span><nobr>More articles about AlwaysUp&#8230;<\/nobr><\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<!-- relpost-thumb-wrapper --><div class=\"relpost-thumb-wrapper\"><!-- filter-class --><div class=\"relpost-thumb-container\"><style>.relpost-block-single-image, .relpost-post-image { margin-bottom: 10px; }<\/style><h3>You may also like...<\/h3><div style=\"clear: both\"><\/div><div style=\"clear: both\"><\/div><!-- relpost-block-container --><div class=\"relpost-block-container relpost-block-column-layout\" style=\"--relposth-columns: 3;--relposth-columns_t: 2; --relposth-columns_m: 2\"><a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/import-windows-service-applications\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"Moving your AlwaysUp Applications\/Services? Easily Import Them All at Once\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/alwaysup-bulk-import-logo-150x150-1.png\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">Moving your AlwaysUp Applications\/Services? Easily Import Them All at Once<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/start-app-at-boot\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"Q &amp; A: What Setting will Help AlwaysUp Start my App at Boot?\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/qa-150x150.png\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">Q &amp; A: What Setting will Help AlwaysUp Start my App at Boot?<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/customers\/versonix-cruise-reservation-system\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"AlwaysUp Helps Versonix Develop &amp; Test Their Cruise Reservation System\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/versonix-customer-spotlight-150x150-1.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">AlwaysUp Helps Versonix Develop &amp; Test Their Cruise Reservation System<\/h2><\/div><\/div><\/a><\/div><!-- close relpost-block-container --><div style=\"clear: both\"><\/div><\/div><!-- close filter class --><\/div><!-- close relpost-thumb-wrapper -->","protected":false},"excerpt":{"rendered":"<p>In this article&#8230; Why integrate with AI? What does integration look like? How we connected AlwaysUp and ChatGPT Step 1: Installed AlwaysUp Web Service Step 2: Allowed AlwaysUp Web Service through the firewall Step 3: Generated a SSL certificate for &hellip; <a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup-web-service\/control-applications-with-chatgpt\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":12917,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[26,201,356,375,305,374,373],"class_list":["post-12915","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-alwaysup-web-service","tag-alwaysup-tag","tag-alwaysup-web-service","tag-alwaysup-web-service-api","tag-artificial-intelligence","tag-chatgpt","tag-chatgpt-actions","tag-openai"],"_links":{"self":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=12915"}],"version-history":[{"count":24,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12915\/revisions"}],"predecessor-version":[{"id":12941,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12915\/revisions\/12941"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media\/12917"}],"wp:attachment":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=12915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=12915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=12915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}