<!DOCTYPE html><html lang="en" data-astro-cid-5hce7sga> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Blog — SageRock</title><meta name="description" content="Notes on AI, automation, and marketing from SageRock."><link rel="canonical" href="https://sagerock.com/blog/"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Fraunces:opsz,wght@9..144,350;9..144,500&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Nunito:wght@400;600;700&family=Raleway:wght@500&family=Source+Sans+3:wght@400;500;600;700&display=swap" rel="stylesheet"><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=G-TMBKB7V48V"></script><script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'G-TMBKB7V48V');
    </script><link rel="stylesheet" href="/_astro/_slug_.Aq-D0uVr.css">
<style>.blog-head[data-astro-cid-5tznm7mj]{padding-top:80px}.blog-head[data-astro-cid-5tznm7mj] .lede[data-astro-cid-5tznm7mj]{font-size:1.15rem;color:var(--body);max-width:54ch}.posts[data-astro-cid-5tznm7mj]{list-style:none;margin:0;padding:0}.posts[data-astro-cid-5tznm7mj] li[data-astro-cid-5tznm7mj]{border-top:1px solid var(--rule)}.posts[data-astro-cid-5tznm7mj] li[data-astro-cid-5tznm7mj]:last-child{border-bottom:1px solid var(--rule)}.posts[data-astro-cid-5tznm7mj] a[data-astro-cid-5tznm7mj]{display:grid;gap:4px;padding:22px 0;text-decoration:none}.post-date[data-astro-cid-5tznm7mj]{font-size:.82rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.post-title[data-astro-cid-5tznm7mj]{font-family:var(--serif);font-size:1.5rem;color:var(--ink)}.posts[data-astro-cid-5tznm7mj] a[data-astro-cid-5tznm7mj]:hover .post-title[data-astro-cid-5tznm7mj]{color:var(--accent)}.post-excerpt[data-astro-cid-5tznm7mj]{color:var(--body);font-size:.98rem}
</style></head> <body data-astro-cid-5hce7sga> <header class="site-header" data-astro-cid-5hce7sga> <div class="wrap header-inner" data-astro-cid-5hce7sga> <a href="/" class="brand" aria-label="SageRock home" data-astro-cid-5hce7sga> <img src="/images/sagerock-logo.png" alt="SageRock" width="500" height="311" data-astro-cid-5hce7sga> </a> <button class="menu-toggle" type="button" aria-expanded="false" aria-controls="site-nav" aria-label="Open menu" data-astro-cid-5hce7sga><span data-astro-cid-5hce7sga></span><span data-astro-cid-5hce7sga></span><span data-astro-cid-5hce7sga></span></button> <div class="nav-area" id="site-nav" data-astro-cid-5hce7sga> <nav class="site-nav" aria-label="Primary" data-astro-cid-5hce7sga> <a href="/" class data-astro-cid-5hce7sga>Home</a><a href="/services" class data-astro-cid-5hce7sga>Services</a><a href="/who-is-sagerock" class data-astro-cid-5hce7sga>Who is SageRock</a><a href="/contact" class data-astro-cid-5hce7sga>Contact</a> </nav> </div> </div> </header> <main data-astro-cid-5hce7sga> <section class="blog-head" data-astro-cid-5tznm7mj> <div class="wrap-narrow" data-astro-cid-5tznm7mj> <p class="eyebrow" data-astro-cid-5tznm7mj>The SageRock blog</p> <h1 data-astro-cid-5tznm7mj>Notes from the workbench.</h1> <p class="lede" data-astro-cid-5tznm7mj>AI tools we’ve built, automations we’ve wired together, and what we’ve learned making them.</p> </div> </section> <section class="blog-list tight" data-astro-cid-5tznm7mj> <div class="wrap-narrow" data-astro-cid-5tznm7mj>  <ul class="posts" data-astro-cid-5tznm7mj> <li data-astro-cid-5tznm7mj> <a href="/blog/funny-tweet-maker" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>August 29, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Funny Tweet Maker</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This is using the Flowise Sequential Agents tool, which I love! It makes a funny tweet and then sends it to another agent who trying to make it funnier. All of this hilarity is archived on Notion by c</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-flowise-sequential-agents-with-make-com-a-webhook-and-notion-page-creation" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>August 29, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Video: Flowise Sequential Agents with Make.com, a Webhook and Notion page creation</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>Flowise Sequential Agents are amazing! This is how you connect one to a webhook in Make.com and then connect that to a Notion page. Click here to check out the bot.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/flux-schnell" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>August 20, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Flux Schnell</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>Flux image creator is all the rage right now. It is really good at spelling words correctly. And it will make an image of pretty much anything other than nudity.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/center-for-anthroposophy-ai-chatbot" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>August 19, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Center for Anthroposophy AI Chatbot</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>Center for Anthroposophy is a Waldorf teacher education and professional development center. They use AI to answer questions about courses and programs they offer.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/2024-ohio-building-code-ai-assistant" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>August 19, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>2024 Ohio Building Code AI Assistant</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This AI assistant the 2024 Ohio Building Code to answer questions. You definitely should check directly with the code or someone who knows things before you build anything. I can’t promise this inform</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/spring-garden-ai-chatbot-2" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>August 19, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Spring Garden AI Chatbot</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>Spring Garden Waldorf School is a Waldorf School in Copley, Ohio. They use an AI Chatbot on their site to answer admissions-type questions. You can check it out here:</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/claude-3-haiku" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 16, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Claude 3 Haiku</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This is Anthropics’ low-end model, Claude Haiku. It’s not the smartest bot you’ve ever met, but it might be the fastest.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/claude-3-sonnet" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 16, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Claude 3 Sonnet</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This is a general AI bot running on Claude Sonnet. That is their middle of the road model. But I really like it for writing. It has memory. So it should remember your conversation as you are talking. </span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/human-sounding-bot" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 15, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Human Sounding Bot</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>I tried to make this bot act and sound as human as I possibly could. Let me know what you think.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/claude-3-5-sonnet" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 14, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Claude 3.5 Sonnet</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This is Anthropic’s newest AI model.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/openai-4o-with-tools" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 13, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>OpenAI 4o with Tools and Memory</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This is OpenAIs latest model, ChatGPT 4o. I’ve added memory to it along with a calculator, search engine, and Web browser. You might try asking it about current events of to summarize a web address. I</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/perplexity-ai" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 11, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Perplexity AI</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>Perplexity provides real-time AI answers. This is a huge difference than other AI tools. Try asking it about any current events.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-how-i-made-an-ai-friend-bot-with-permanent-memory-a-search-engine-and-a-web-browservideo" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 11, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>VIDEO: How I made an AI Friend Bot with Permanent Memory, a search engine and a web browserVIDEO:</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>The setup of this bot was based on the instructions by @leonvanzyl : https://www.youtube.com/watch?v=trPigb-XYIc You can try this bot for free (as long as I can afford it) here: https://www.sageconver</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/your-ai-friend" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 10, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Your AI Friend</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot has permanent memory and can search the Internet. It will ask you for your email address. That creates a new user ID in an Upstash Redis memory database. Every time you start a new discussion</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/ai-prompt-creator-using-claude-3-5-sonnet" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 9, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>AI Prompt Creator Using Claude 3.5 Sonnet</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot will help you craft prompts that you can then take and put into any general AI bot. That way you don’t have to build a custom bot, if you don’t want to. Just give this bot the information it </span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/image-creator-using-stability-ai-on-replicate" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 8, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Image Creator using Stability AI on Replicate</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot will make images for you. It is using Stability AI running on Replicate.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/facebook-post-creator-based-on-a-url" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 7, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Facebook Post Creator Based on a URL</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot will take the URL you provide and write a Facebook post about it. If you don’t provide a URL it will ask you for one.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/instagram-image-creator-using-flowise-and-zapier-and-dall-e" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 7, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Instagram Image Creator Using Flowise and Zapier and Dall-E</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot creates images using a Flowise AI bot that is sent to Zapier using a custom tool in Flowise. Once in Zapier it actives the OpenAI Dall-E image creator and makes an image based on the prompt g</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/instagram-image-creator-using-stability-ai-on-replicate" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 7, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Instagram Image Creator using Stability AI on Replicate</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot starts on Flowise, is sent to Voiceflow and then uses Zapier to post on Instagram.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/antonym-creator" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 6, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Antonym Creator</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot, running on gpt-4o-mini (because this is a super easy job for AI and you shouldn’t pay more for unneeded power) creates antonyms. And if you can’t remember what an antonym is, just put a word</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/spring-garden-ai-chatbot" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 5, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Spring Garden AI Chatbot</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot is currently on the Spring Garden Website. It is the chat icon in the bottom right of the site. And it is also located on this page: https://sgws.org/chatbot/</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/spring-garden-waldorf-school-content-writer" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 5, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Spring Garden Waldorf School Content Writer</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot is designed to create custom content for Spring Garden Waldorf School. It is equipped with a custom vector database using OpenAI Assistants with their Vector Stores. It’s running on Flowise.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/awsna-institute-website-chatbot" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 4, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>AWSNA Institute Website Chatbot</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>AWSNA – Association of Waldorf Schools of North America has 13 Waldorf-related institutes it supports. We wanted to create a tool that would allow us to easily access all the content from those instit</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/rudolf-steiner-bot" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 4, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Rudolf Steiner Bot</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This bot has a quite significant vector store on OpenAI dedicated to Rudolf Steiner, his life and many of his books and lectures.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/sage-lewis-archive" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>July 3, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Sage Lewis Archive</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This AI answers questions about Sage Lewis based on his blogs, social media, books, videos and podcasts.</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-automating-email-creation-using-flowise-zapier-chatgpt-and-gmail" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>June 25, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>VIDEO: Automating Email Creation Using Flowise, Zapier, ChatGPT and Gmail</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>In this tutorial, we look at how to have AI create emails and put them in your Gmail draft folder. You can then edit them to your liking and then send them out. You can try this chatbot and many other</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-i-believe-were-in-the-age-of-automation-how-ai-and-tools-like-zapier-and-make-com-are-transforming-my-business" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>June 20, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>VIDEO: I Believe We’re in the Age of Automation: How AI and Tools Like Zapier and Make.com Are Transforming My Business</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>In this video, I want to talk about how I believe we are entering an era of automation, where AI and various tools can significantly streamline and optimize our business processes. I’ve noticed a grow</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/my-ai-bot-creation-workflow-as-of-june-19-2024" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>June 19, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>My AI Bot Creation Workflow as of June 19 2024</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This is how I’m making bots today. I’d love to know what your workflow is. These are the tools I use for creating bots today:</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-openai-assistants-vector-storesvideo" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>June 18, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>VIDEO: OpenAI Assistants Vector StoresVIDEO:</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>You might make your life a lot easier by not using Pinecone or Qdrant and just use the vector stores with OpenAI Assistants. I walk you through how to do that in this video. Also, I’m starting a new d</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-integrating-openai-assistants-into-voiceflow-using-flowise-instead-of-replit" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>June 18, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>VIDEO: Integrating OpenAI Assistants into Voiceflow using Flowise Instead of Replit</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>@bo-sar has these great videos on integrating OpenAI Assistants into Voiceflow using code hosted on Replit. Here is his November 25, 2023 tutorial: https://youtu.be/SNwqkdhv1HQ?si=xm6fM05Q5uDZwGr2 and</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-how-to-connect-facts-sis-api-to-postman-zapier-and-constant-contact" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>June 5, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>VIDEO: How to Connect FACTS SIS API to Postman, Zapier, and Constant Contact</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>Here’s the code used in this video: https://github.com/sagerock/factssisapi In this comprehensive how-to video, I will guide you through the process of connecting the FACTS SIS API to Postman, Zapier,</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/video-how-to-customize-botpress-full-screen" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>June 5, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>VIDEO: How to Customize Botpress Full Screen</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>I was having trouble figuring out how to customize the full-screen bot of Botpress. But I figured out how to do it. This video shows you how. And all the files are located here: https://github.com/sag</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/how-to-delete-a-namespace-in-a-pinecone-database" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>May 30, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>How To Delete A Namespace in a Pinecone Database</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>This crap changes all the time and it’s super annoying. But as of May 30, 2024, this code works in Python: Make sure you have Pinecone installed in your Python library:</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/chatgpt-vs-claude-meth-use-in-truckers" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>May 22, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>ChatGPT vs. Claude: AI Models Clash on Sensitive Topics Like Meth Use Among Truckers</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>I get so upset at ChatGPT sometimes. They just feel like some sort of company party-line automaton. I feel like they have so much more insight to offer. Yet they can’t get out of this really strange f</span> </a> </li><li data-astro-cid-5tznm7mj> <a href="/blog/our-master-chatgpt-udemy-course-is-currently-free" data-astro-cid-5tznm7mj> <span class="post-date" data-astro-cid-5tznm7mj>May 14, 2024</span> <span class="post-title" data-astro-cid-5tznm7mj>Our Master ChatGPT Udemy Course Is Currently Free</span> <span class="post-excerpt" data-astro-cid-5tznm7mj>If you are interested in learning how to use ChatGPT for marketing in your business, there is never a better time to get our course on Udemy because it is currently free! Here is the Course Descriptio</span> </a> </li> </ul> </div> </section> </main> <footer class="site-footer" data-astro-cid-5hce7sga> <div class="footer-main" data-astro-cid-5hce7sga> <div class="wrap footer-inner" data-astro-cid-5hce7sga> <div class="footer-socials" aria-label="SageRock social links" data-astro-cid-5hce7sga> <span data-astro-cid-5hce7sga>Follow SageRock</span> <a href="https://sagerockschools.substack.com/" target="_blank" rel="noopener noreferrer" data-astro-cid-5hce7sga>Substack</a> <a href="https://www.linkedin.com/company/sagerock.com/" target="_blank" rel="noopener noreferrer" data-astro-cid-5hce7sga>LinkedIn</a> </div> <a href="/" data-astro-cid-5hce7sga>Home</a> </div> </div> <div class="footer-bottom" data-astro-cid-5hce7sga><div class="wrap" data-astro-cid-5hce7sga>Copyright © 2026 SageRock</div></div> </footer> <script src="https://aibots.sagerock.com/static/widget.js" data-bot-id="48a9250d-fe83-4e66-a48f-1f65b14323e5"></script>  <script>
      (() => {
        function openCairn() {
          const toggle = document.getElementById('ai-bot-toggle');
          const win = document.getElementById('ai-bot-chat-window');
          if (toggle && (!win || win.style.display !== 'flex')) toggle.click();
          const label = document.getElementById('cairn-label');
          if (label) label.style.display = 'none';
        }
        function addLabel() {
          const widget = document.getElementById('ai-bot-widget');
          if (!widget || document.getElementById('cairn-label')) return Boolean(widget);
          const toggle = document.getElementById('ai-bot-toggle');
          const frame = document.querySelector('#ai-bot-chat-window iframe');
          if (toggle) toggle.setAttribute('aria-label', 'Open chat with Cairn');
          if (frame) frame.setAttribute('title', 'Chat with Cairn');
          const label = document.createElement('button');
          label.id = 'cairn-label';
          label.type = 'button';
          label.textContent = 'Questions? Chat with Cairn';
          label.addEventListener('click', openCairn);
          widget.appendChild(label);
          return true;
        }
        let tries = 0;
        const timer = setInterval(() => { if (addLabel() || ++tries > 40) clearInterval(timer); }, 250);
      })();
    </script> <script type="module">const e=document.querySelector(".menu-toggle"),a=document.querySelector(".nav-area");e?.addEventListener("click",()=>{const t=e.getAttribute("aria-expanded")==="true";e.setAttribute("aria-expanded",String(!t)),e.setAttribute("aria-label",t?"Open menu":"Close menu"),a?.classList.toggle("open",!t)});document.addEventListener("keydown",t=>{t.key==="Escape"&&e?.getAttribute("aria-expanded")==="true"&&(e.setAttribute("aria-expanded","false"),e.setAttribute("aria-label","Open menu"),a?.classList.remove("open"),e.focus())});</script>  </body> </html> 