<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Jet Admin]]></title><description><![CDATA[No-Code Internal Tool Builder]]></description><link>https://www.jetadmin.io/blog/</link><image><url>https://www.jetadmin.io/blog/favicon.png</url><title>Jet Admin</title><link>https://www.jetadmin.io/blog/</link></image><generator>Ghost 5.0</generator><lastBuildDate>Wed, 01 Oct 2025 01:18:17 GMT</lastBuildDate><atom:link href="https://www.jetadmin.io/blog/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Why Choose Jet Admin Over Softr?]]></title><description><![CDATA[Softr stands out as an excellent no-code builder for creating basic web applications quickly. However, if you plan to scale and extend your app with more complex functionality, exploring alternative solutions is crucial.]]></description><link>https://www.jetadmin.io/blog/jet-admin-vs-softr/</link><guid isPermaLink="false">656dc1fe0189370001cc8926</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Tue, 05 Dec 2023 13:16:09 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/12/Softr-vs-Jet-Admin.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/12/Softr-vs-Jet-Admin.jpg" alt="Why Choose Jet Admin Over Softr?"><p>Softr stands out as an excellent no-code builder for creating basic web applications quickly. However, if you plan to scale and extend your app with more complex functionality, exploring alternative solutions is crucial.</p><h3 id="softr-is-great-for-some-specific-use-cases-while-jet-is-a-broader-tool-with-unlimited-design-possibilities">Softr is great for some specific use cases, while Jet is a broader tool with unlimited design possibilities</h3><p>Softr excels in specific scenarios, whereas Jet offers a more extensive toolset with unlimited design possibilities. Per Softr&apos;s website, they focus heavily on four particular use cases:</p><ol><li>Client portals</li><li>Membership websites</li><li>Internal tools</li></ol><p>However, when dealing with more complex projects, Jet Admin steps in to offer a wider range of features and customization options.</p><p>Jet Admin is the best option when you:</p><ul><li>Need complex tools with multiple custom pages, drill-downs, and actions, as it has more flexibility in its building blocks</li><li>Want to consolidate data from multiple sources with its 50+ native integrations</li><li>Need pre-built UI components for a faster start</li></ul><p>Here are some specific use cases where Jet Admin is a better fit than any of its competitors:</p><ul><li>Custom CRM. Implement a CRM with pipeline management, lead scoring, and detailed contact information.</li><li>Vendor or <a href="https://www.jetadmin.io/solutions/customer-portals">Client Portals</a>. Create a platform where vendors or clients can access specific information, submit requests, and manage their accounts.</li><li><a href="https://www.jetadmin.io/solutions/internal-tools">Internal Tools</a> with Complex Workflows. Build project management tools with task tracking, approvals, and team collaboration features.</li><li>Reporting Dashboards. Design custom dashboards with interactive data visualizations and filters.</li></ul><h3 id="both-softr-and-jet-need-external-backends-to-work-but-jet-supports-more-data-sources">Both Softr and Jet need external backends to work, but Jet supports more data sources</h3><p>While Softr allows you to connect 3 data sources: Airtable, Google Sheets, and SmartSuite, Jet Admin integrates with over 50+ popular data sources, like MySQL, PostgreSQL, Firebase, Salesforce, and Zendesk. This massive range gives you unmatched flexibility to build web apps that work with all your data.</p><p>Also, Jet lets you create your custom databases with Jet Tables. This means you can design databases that perfectly fit your specific requirements with no necessity to adapt to pre-built options.</p><p>Jet provides API Builder if you want to integrate with external data sources, business apps, or your own API, breaking down any barriers to data integration.</p><h2 id="jet-admin-offers-advanced-data-manipulation-and-custom-code">Jet Admin offers advanced data manipulation and custom code<br></h2><p>Jet&apos;s supports custom code and advanced data manipulation, providing significantly more flexibility than Softr&apos;s pre-defined functionalities based on pre-defined triggers and actions, by combining features like:</p><ul><li><strong>Formula</strong>. Build complex calculations and data manipulations directly within your app.</li><li><strong>Workflow</strong>. Automate repetitive tasks and create multi-step workflows based on your specific needs, streamlining your operations and saving time.</li><li><strong>Automation</strong>. Automate actions based on triggers, such as new user registrations or changes to data, etc.</li><li><strong>Custom code and advanced data manipulation</strong>. Write custom SQL queries to pull and manipulate data in real-time, unlocking a world of possibilities for building truly dynamic and interactive web apps.</li><li><strong>JavaScript code.</strong> For ultimate flexibility, write custom JavaScript code to extend Jet Admin&apos;s capabilities and tailor the platform to your exact needs.</li></ul><h2 id="simplicity-and-speed-vs-pixel-perfect-customization">Simplicity and Speed vs Pixel-Perfect Customization</h2><!--kg-card-begin: markdown--><!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    table {
      border-collapse: collapse;
      width: 100%;
    }
<pre><code>th, td {
  border-bottom: 1px solid #ddd; /* Keep only horizontal lines */
  padding: 8px;
  text-align: left;
}

th, td:nth-child(2), td:nth-child(3) {
  text-align: center; /* Center text in the 2nd and 3rd columns */
}
</code></pre>
  </style>
</head>
<body>
<table>
  <thead>
    <tr>
      <th></th>
      <th>Jet Admin</th>
      <th>Softr</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Ideal for</td>
      <td>Users who want complete control over the UI</td>
      <td>Users who prefer pre-made options</td>
    </tr>
    <tr>
      <td>Level of Customization</td>
      <td>Extensive</td>
      <td>Moderate</td>
    </tr>
    <tr>
      <td>Component Designer</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Pre-built Components</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
    <tr>
      <td>Sketch and Figma Integration</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Themes and Layouts</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
    <tr>
      <td>Color Palette Customization</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
    <tr>
      <td>Font Customization</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
  </tbody>
</table>
</body>
</html>
<!--kg-card-end: markdown--><p>Jet Admin allows you to build pixel-perfect designs to create standing-out apps. Unlike Jet Admin, Softr focuses on simplicity and speed. Its pre-built components and templates make it ideal for quickly launching basic apps. While the customization options are not as extensive, they still provide enough space to personalize your app with various themes, color palettes, and fonts.</p><p>Jet Admin gives you more control over how your app is designed. You can make it look exactly how you want it to, with no need for designing skills.</p><p>Here are the key design features that Jet Admin provides:</p><ul><li>Take advantage of Component Designer - Jet&#x2019;s unique tool that allows you to create pixel-perfect elements within the app with no designing skills.</li><li>Browse ready-to-go components from the native Marketplace.</li><li>Import your Figma or Sketch files directly into Jet Admin and watch your design come alive as a functional application.</li><li>Build complex UI elements from scratch using HTML, CSS, and JavaScript/React/Vue/Angular, giving you the freedom to create truly unique and interactive experiences.</li><li>Browse pre-built 50 + components (Table, Kanban, Filters, Ratings)</li></ul><h2 id="jet-admin-provides-you-with-full-control-through-white-labeling">Jet Admin Provides You with Full Control through White-Labeling<br></h2><p>Both Jet Admin and Softr allow you to personalize your app to match the existing branding. While Softr offers basic customization, Jet Admin&apos;s design features are far more powerful, providing deeper control over your app&apos;s visual identity.</p><p>Softr doesn&#x2019;t provide self-hosting, which is a crucial feature for companies seeking complete brand control and security. This limitation basically means you&apos;re renting space, with limited control over your data and the app&apos;s future.</p><p>Jet Admin, on the other hand, provides a <a href="https://docs.jetadmin.io/jet-bridge-deployment/jet-admin">self-hosting</a> option, granting complete ownership of your app&apos;s code, data, and infrastructure. This unlocks a world of possibilities:<br></p><ul><li>Deployment Flexibility. Choose from various cloud providers like AWS, Azure, or GCP, or even host your app on your own servers for ultimate control.</li><li>Unmatched Customization. Modify your app&apos;s code and functionalities to perfectly match your specific needs and workflow.</li><li>Seamless Integrations. Connect your app with any necessary tools and systems, without relying on limited integration options.</li><li>Enhanced Data Security. Ensure complete data security and compliance by self-hosting your app and managing your data infrastructure.<br></li></ul><h2 id="jet-admin-is-built-for-growth">Jet Admin is Built for Growth<br></h2><p>When it comes to scaling your app, Jet Admin and Softr offer different abilities. Jet Admin excels in scalability, allowing your app to grow effortlessly as your business expands. Its infrastructure is built to handle increased traffic and data, ensuring smooth performance.</p><p>Softr, on the other hand, may face limitations in scaling. While it can handle moderate growth, its platform might not be suitable for large-scale applications or sudden spikes in user activity, which can lead to performance issues and slow down your app&apos;s growth potential.</p><h2 id="softr-is-secure-but-jet-leads-industry-standards">Softr is Secure, But Jet Leads Industry Standards<br></h2><p>Keeping your data safe is crucial, and both no-code platforms take security seriously. While both platforms offer security features, Jet Admin&apos;s comprehensive approach, including advanced options and third-party integrations, positions it as the industry leader, providing a significantly more secure platform than Softr.</p><p>Let&#x2019;s deep dive with a short breakdown of the security features.</p><p>Jet Admin</p><ul><li>Authentication. Jet provides &quot;Jet auth&quot; for basic app authentication and also supports third-party systems like Auth0, Xano, Supabase, SSO, and SAML.</li><li>Data encryption. Jet Admin encrypts your data at rest and in transit using industry-standard protocols like AES-256.</li><li>Role-based access control. You can assign different access levels to users so that only authorized users can see and edit the data.</li><li>Single sign-on (SSO). You can use SSO to log in to Jet Admin with your existing company credentials, making it easier to manage access and security.</li><li>Regular security audits. Jet Admin conducts regular security audits to identify and address any potential risks.</li><li>Industry standards. Jet Admin follows industry standards, such as HIPAA and SOC 2.</li></ul><p>Softr</p><ul><li>Authentication. Softr uses its authentication system.</li><li>Data encryption. Softr encrypts your data at rest and in transit with industry-standard protocols.</li><li>Role-based access control. Like Jet Admin, Softr allows you to assign different levels of access to different users.</li><li>Multi-factor authentication (MFA). Softr offers MFA as an additional layer of security.</li><li>Data backup and recovery. Softr regularly backs up your data, so you can recover it in case of an emergency.</li><li>Compliance with industry standards. Softr follows industry standards, such as GDPR and CCPA.</li></ul><h2 id="last-words">Last Words<br></h2><!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    table {
      border-collapse: collapse;
      width: 100%;
    }

    th, td {
      border-bottom: 1px solid #ddd; /* Keep only horizontal lines */
      padding: 8px;
      text-align: left;
    }

    th {
      text-align: center; /* Align headers in the center */
    }
  </style>
</head>
<body>

<table>
  <thead>
    <tr>
      <th></th>
      <th>Jet Admin</th>
      <th>Softr</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Pre-Built Components</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
    <tr>
      <td>Component Marketplace</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
    <tr>
      <td>Drag-and-Drop Interface</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
    <tr>
      <td>Version Control</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x2714;&#xFE0F;</td>
    </tr>
    <tr>
      <td>Automation/Workflow</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Extend your App</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Create your components</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x274C;</td>
    </tr>
     <tr>
      <td>Self-hosted</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Custom Authorization</td>
      <td>&#x2714;&#xFE0F;</td>
      <td>&#x274C;</td>
    </tr>
  </tbody>
</table>

</body>
</html>
<!--kg-card-end: html--><p>While <a href="https://www.softr.io/">Softr</a> might suit simpler applications and quick launches, Jet Admin&apos;s broader data source support, advanced workflows, robust security, and step-ahead design tools will help you create web applications that:<br></p><p>Stand out with pixel-perfect design,</p><p>Scale easily,</p><p>Support any workflow,</p><p>Can be self-hosted,</p><p>Absolutely secure. <br></p><p>Ready to level up your web application development? Take the lead in creating dynamic and feature-rich applications without a coding hassle. Experience the Jet Admin advantage today &#x2013; start your free trial now and transform your web development journey!</p>]]></content:encoded></item><item><title><![CDATA[Jet Admin vs Bubble]]></title><description><![CDATA[Jet Admin and Bubble are both platforms that provide integrated solutions for front-end and back-end development, but the concept is fully different. Bubble provides basic components and data sources with many plugins from third-party developers that make it powerful and cover a lot of use cases. ]]></description><link>https://www.jetadmin.io/blog/jet-admin-vs-bubble/</link><guid isPermaLink="false">6569be800189370001cc8805</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Tue, 05 Dec 2023 06:17:52 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/12/Jet-Admin-vs-Bubble.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/12/Jet-Admin-vs-Bubble.jpg" alt="Jet Admin vs Bubble"><p>Jet Admin and Bubble are both platforms that provide integrated solutions for front-end and back-end development, but the concept is fully different. Bubble provides basic components and data sources with many plugins from third-party developers that make it powerful and cover a lot of use cases. Jet mostly focuses on its native data sources and components, providing flexibility to extend functionality: Rest API, Design Component, React/Angular/Vue components.</p><!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    table {
      width: 100%;
      border-collapse: collapse;
      margin-bottom: 20px;
    }

    th, td {
      border: 1px solid #dddddd;
      text-align: left;
      padding: 8px;
    }

    th {
      background-color: #f2f2f2;
    }
  </style>
</head>
<body>

<table>
  <thead>
    <tr>
      <th>Feature</th>
      <th>Jet Admin</th>
      <th>Bubble</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Ready-to-Use Components</td>
      <td>100+ components</td>
      <td>Basic components</td>
    </tr>
    <tr>
      <td>Native Data Sources</td>
      <td>&#x2714;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Data Synchronization</td>
      <td>&#x2714;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Custom component &#x2013; JS/React</td>
      <td>&#x2714;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Self-Hosted</td>
      <td>&#x2714;</td>
      <td>&#x274C;</td>
    </tr>
    <tr>
      <td>Responsive interface</td>
      <td>Auto-responsiveness</td>
      <td>Multiple views</td>
    </tr>
   	<tr>
      <td>Pixel-Perfect Interface</td>
      <td>&#x2714;</td>
      <td>&#x2714;</td>
    </tr>
    <tr>
      <td>Automation/Workflow</td>
      <td>&#x2714;</td>
      <td>&#x2714;</td>
    </tr>
    <tr>
      <td>Integration with 3rd party</td>
      <td>API Builder</td>
      <td>Plugins</td>
    </tr>
  </tbody>
</table>

</body>
</html>
<!--kg-card-end: html--><h2 id="jet-admin-outperforms-bubble-in-data-integration">Jet Admin Outperforms Bubble in Data Integration</h2><p></p><p>While <a href="https://bubble.io/">Bubble</a> relies on plugins for data integration, Jet Admin offers native integration with over 50 popular data sources and lets you build custom databases with Jet Tables. It also provides the flexibility to connect with practically any external data source through its API Builder. Additionally, Jet Admin supports advanced data manipulation and custom code, giving you greater control over your data and functionality. You can build complex calculations, automate tasks, and write custom SQL queries to pull and manipulate data in real-time.</p><p>Jet Admin provides native data source integrations: PostgreSQL, Firebase, Airtable, or designing a database from scratch using the Jet database. This makes adding a data source just a few seconds and uses a lot of out-of-the-box like filtering, sorting, syncing, and blending data, keeping the data secure and providing scalability.</p><p>Bubble uses plugins to connect to data sources. There are over 1000 of them available, which gives you a lot of flexibility. However, there are some potential drawbacks to this approach. Extending third-party plugins can be difficult and can cause potential issues if, for example, the plugin&apos;s creators stop supporting or updating them. Some plugins may not be supported anymore, which means users will not be able to use the latest features and will face maintenance problems in the future.</p><p>Jet&#x2019;s working system has some key advantages:</p><ul><li><strong>Data Security and Control.</strong> With self-hosting options and an integrated backend, Jet Admin ensures that user data remains under the user&apos;s complete control. This platform provides data security and ensures that users&#x2019; information is protected.</li><li><strong>Scalability.</strong> Jet Admin&apos;s architecture is designed to handle large volumes of data and traffic, granting scalability as applications grow and user demand increases. Thus, businesses can grow their applications and handle more users without slowing down.</li></ul><h2 id="jet-admin-provides-design-freedom">Jet Admin Provides Design Freedom<br></h2><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/12/Friday--2--1.png" class="kg-image" alt="Jet Admin vs Bubble" loading="lazy" width="1920" height="1592" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/12/Friday--2--1.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/12/Friday--2--1.png 1000w, https://www.jetadmin.io/blog/content/images/size/w1600/2023/12/Friday--2--1.png 1600w, https://www.jetadmin.io/blog/content/images/2023/12/Friday--2--1.png 1920w" sizes="(min-width: 720px) 720px"></figure><p>While Bubble offers great design tools, it often relies on third-party integrations for specific tasks. This can lead to complex workflows and difficulty extracting design assets into your app. Jet Admin, on the other hand, lets you design and develop seamlessly within its own ecosystem, offering greater control.</p><p>Advantages of Jet Admin:</p><ul><li><strong>Pixel-perfect design</strong>. Jet Admin&apos;s unique Component Designer tool allows you to create stunning and intricate UI elements without any prior design experience. This is a game-changer for individuals or teams who want full design control without the need for a dedicated designer.</li><li><strong>Native Marketplace and Component Library</strong>. Jet Admin boasts a thriving native Marketplace with a wide selection of pre-built components and templates. This makes it easy to quickly create beautiful and functional applications without starting from scratch. Additionally, the pre-built library of 50+ components covers common functionalities like tables, Kanban boards, filters, and ratings, saving your time.</li><li><strong>Direct import from <a href="https://www.figma.com/">Figma</a> and <a href="https://www.sketch.com/">Sketch</a></strong>. If you already have a design created in Figma or Sketch, you can seamlessly import it directly into Jet Admin. This allows you to quickly convert your design into a functional application, eliminating the need for manual recreations.</li><li><strong>Unlimited design flexibility with native code</strong>. While Jet Admin offers a user-friendly no-code environment, it also gives you the power to create truly unique and interactive experiences using code. You can use &#xA0;HTML, CSS, and JavaScript/React/Vue/Angular to build complex UI elements and customize your app.</li></ul><p>With Jet, there is no necessity to recreate your designed components anymore. This integration streamlines the design process and enables users to implement their existing design assets into applications without requiring manual conversion or re-creation.</p><p>Additionally, a marketplace offers a growing collection of pre-built free components, providing users with a wide range of design options and simplifying component creation.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/12/Component-designer-1.png" class="kg-image" alt="Jet Admin vs Bubble" loading="lazy" width="1128" height="527" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/12/Component-designer-1.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/12/Component-designer-1.png 1000w, https://www.jetadmin.io/blog/content/images/2023/12/Component-designer-1.png 1128w" sizes="(min-width: 720px) 720px"></figure><h2 id="easy-in-use">Easy in Use<br></h2><p>Bubble has a steeper learning curve, especially for advanced users, while Jet Admin is designed for ease of use and saves time with its automatic interface generation ability.</p><p>Bubble offers a visual development environment with drag-and-drop functionality for designing applications, workflows, and custom actions. While powerful, Bubble presents a steeper learning curve, particularly for complex solutions.</p><p>Jet Admin, on the other hand, prioritizes ease of use. Its intuitive interface and drag-and-drop functionality simplify interface creation and customization for users of all technical backgrounds. The interface automatically generates from user data, saving time and allowing users to focus on core functionalities without worrying about intricate design aspects.</p><h2 id="freedom-and-control-for-your-applications">Freedom and Control for Your Applications<br></h2><p>While Bubble locks you into their platform, Jet Admin offers the flexibility and control of self-hosting. This means you can deploy your applications on your own servers with complete ownership and control over your data and application environment. </p><p>While Bubble&#x2019;s scalability relies on plugins, Jet Admin is designed to handle large workloads and can easily adapt to growing demands. Its infrastructure ensure that your applications will continue to perform optimally as your business expands.</p><p>Additionally, self-hosting enables organizations to scale their applications according to their demands. They are not limited by the resources of a shared cloud platform and can add resources as needed to accommodate growth. This is crucial for businesses experiencing rapid expansion or handling large data volumes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/12/self-hosted.png" class="kg-image" alt="Jet Admin vs Bubble" loading="lazy" width="949" height="418" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/12/self-hosted.png 600w, https://www.jetadmin.io/blog/content/images/2023/12/self-hosted.png 949w" sizes="(min-width: 720px) 720px"><figcaption>Jet Admin allows to self-host the apps.</figcaption></figure><h3 id="white-labeling">White Labeling<br></h3><p>As mentioned earlier, Jet Admin offers a unique advantage over other no-code platforms &#x2013; self-hosting. This feature allows organizations to go beyond customization and fully white-label the platform, creating a branded experience for their users.</p><p>In addition to the points mentioned above, self-hosting can also offer:</p><ul><li><strong>Cost savings</strong>. In some cases, self-hosting can be more cost-effective than using a cloud platform, especially for organizations with consistent resource needs.</li><li><strong>Compliance</strong>. Self-hosting may be necessary to comply with specific industry regulations or data privacy laws.<br></li></ul><h2 id="jet-admin-and-bubble-provide-powerful-workflow-automation">Jet Admin and Bubble Provide Powerful Workflow Automation<br></h2><p>Both tools streamline repetitive tasks, automate actions, and craft sophisticated logic within your applications.</p><ul><li>Built-in Action Arsenal. Both tools have a library of pre-built actions for user authentication, file handling, database operations, and external API calls. This simplifies integration and reduces the need for custom coding.</li><li>Branching and Conditional Logic. Platforms empower you to create complex decision-making processes within your workflows. By setting specific conditions, you can ensure that tasks are executed only when certain criteria are met.</li><li>Custom JavaScript. Both support custom JavaScript allows developers to extend their automation capabilities beyond the built-in actions. You can trigger custom scripts or even execute global <a href="https://docs.jetadmin.io/user-guide/workflow">workflows for advanced automation</a>.</li><li>Trigger-Based Automation. The tools allow you to define triggers for your automations, such as button clicks, data changes, or external API calls. This ensures that tasks are automatically initiated when specific events occur.</li><li>Conditional Branching for Dynamic Execution. Similar to Bubble, Jet Admin offers conditional branching capabilities. This allows you to create adaptable workflows that react differently based on specific situations.</li><li>Data Manipulation. Both platforms excel at handling data changes within workflows. This enables automatic data processing and improves overall efficiency.</li></ul><h3 id="jet-admin%E2%80%99s-advantage">Jet Admin&#x2019;s Advantage<br></h3><p>Integration with Third-Party Services. Jet Admin simplifies external integration through pre-built connectors, API integration, and webhook support. This allows you to seamlessly connect your workflows with various third-party tools and services.</p><h2 id="endless-possibilities-of-web-tools-creation">Endless Possibilities of Web Tools Creation <br></h2><p>Both Jet Admin and Bubble are created to build a wide range of web applications without writing code, with Jet Admin being more suitable for creating internal tools. Here are some examples of web apps you can create with both platforms:</p><h3 id="internal-tools">Internal Tools<br></h3><ul><li>Dashboards: Track key performance indicators (KPIs), analyze data, and gain valuable insights into your business operations.</li><li>Project management tools: Manage projects, tasks, and deadlines; and collaborate effectively with your team.</li><li>CRM systems: Organize customer information, track interactions, manage sales pipelines, and improve customer satisfaction.</li><li>Employee onboarding portals: Automate and streamline the onboarding process for new employees.</li><li>Internal communication platforms: Facilitate communication and collaboration among teams within your organization.</li><li>Knowledge management systems: Create a central repository for storing and sharing internal knowledge and resources.</li><li>Data visualization tools: Present complex data in an easily understandable and visually appealing way.</li><li>Web forms and surveys: Collect data and feedback from users.</li></ul><h3 id="public-facing-applications">Public-Facing Applications<br></h3><ul><li>Marketplaces: Connect buyers and sellers in a specific niche, offering a platform for buying, selling, and exchanging goods and services.</li><li>Social networks: Create a platform for users to connect, share content, build communities, and interact with each other.</li><li>E-commerce stores: Sell products or services directly to consumers online, managing inventory, payments, and customer orders.</li><li>Online learning platforms: Deliver educational content and courses to students, offering a convenient and engaging learning experience.</li></ul><h2 id="jet-admin-is-a-cost-effective-alternative-with-predictable-subscription-pricing">Jet Admin is a Cost-Effective Alternative with Predictable Subscription Pricing<br></h2><p>While Bubble&apos;s core platform offers essential features, many functionalities require additional plugins. These plugins can range in price from free to hundreds of dollars per month, significantly increasing your app&apos;s development and ongoing maintenance costs. </p><p>Jet Admin&apos;s subscription-based <a href="https://www.jetadmin.io/pricing/internal-tool">pricing</a> provides predictable costs, eliminating the risk of unexpected expenses. This makes it an especially more cost-effective option for businesses that expect significant growth. </p><p>Jet Admin offers a tiered pricing structure with four plans to cater to diverse user needs.</p><ul><li>Free: This plan is perfect for individual users or small teams building simple internal tools. It includes access to essential features like custom tables, forms, and dashboards, with limited data storage.</li><li>Starter: Starting at $24/month per user, this plan expands on the Free version, offering increased data storage and additional features like user management, roles and permissions, and integrations with external services.</li><li>Pro: Priced at $48/month per user, the Pro plan is ideal for growing businesses building more complex internal tools. It unlocks advanced features like custom workflows, API access, and support for multiple apps.</li><li>Enterprise: Designed for large organizations with complex needs and high usage volume, the Enterprise plan offers custom pricing and tailored features based on specific requirements.</li></ul><p>Bubble also offers a tiered pricing model, but it incorporates a plugin-centric approach that can significantly impact your app&apos;s cost.</p><ul><li>Hobby: This free plan is ideal for personal projects and testing purposes. It provides limited features and data storage, making it unsuitable for production applications.</li><li>Personal: Starting at $25/month, the Personal plan offers increased features and data storage compared to the Hobby plan, but it still restricts plugin usage.</li><li>Professional: Priced at $115/month, the Professional plan accommodates growing businesses with basic applications. While it allows for plugin usage, the cost can quickly escalate as you implement more advanced functionalities.</li><li>Production: Starting at $475/month, the Production plan caters to complex applications with high traffic and advanced features. It includes more plugins, but customization through additional plugins can further increase the overall cost.</li></ul><h3 id="in-conclusion">In Conclusion</h3><ul><li>Jet Admin is faster and easier to scale than Bubble. This means you can quickly and easily add more users and data to your Jet Admin applications without worrying about performance issues.</li><li>Jet follows web standards more closely than Bubble. This makes integrating created applications with other web applications and services easier.</li><li>You can export and self-host your piece, having more control over your data and applications, and you are not tied to the platform.</li></ul><p>As well, Jet Admin offers unique customization options that are ahead of the competition:</p><ul><li>Allows to create visually appealing pixel-perfect elements.</li><li>Integrates with popular design tools. Figma and Sketch.</li><li>Offers a marketplace of pre-built components. Wide range of design options.</li></ul><p>Do you still have some doubts about which tool to use? Speed up with Jet&#x2019;s 14-day free trial program now. Access a two-week onboarding trial, and don&#x2019;t look for your ideal platform anymore.</p>]]></content:encoded></item><item><title><![CDATA[How to Migrate from Internal.io to Jet Admin]]></title><description><![CDATA[Internal.io recently announced about it’s sunset. The tool has gained a reputation as a powerful web application builder that streamlines users with some core functionality to create internal tools quickly and easily.]]></description><link>https://www.jetadmin.io/blog/migrate-from-internal-to-jetadmin/</link><guid isPermaLink="false">6568fbaa0189370001cc8798</guid><category><![CDATA[Comparison]]></category><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Thu, 30 Nov 2023 23:10:22 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/12/Internal-io-alternative.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/12/Internal-io-alternative.jpg" alt="How to Migrate from Internal.io to Jet Admin"><p>Internal.io recently announced about it&#x2019;s sunset. The tool has gained a reputation as a powerful web application builder that streamlines users with some core functionality to create internal tools quickly and easily.</p><p>Due to the unexpected news, many users may find themselves in the need to quickly switch to other builders. If you are looking for a new home for your web app development tasks you are in the right place. Jet Admin has some core similarities and can provide you with extra features making the transaction process headache-free. </p><!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Feature Comparison</title>
    <style>
        .green-mark {
            color: green;
        }

        .red-mark {
            color: red;
        }
    </style>
</head>
<body>

    <table border="1">
        <thead>
            <tr>
                <th>Feature</th>
                <th>Jet Admin</th>
                <th>Internal.io</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Drag-and-drop interface</td>
                <td class="green-mark">&#x2714;</td>
                <td class="green-mark">&#x2714;</td>
            </tr>
            <tr>
                <td>Pre-built components</td>
                <td class="green-mark">&#x2714;</td>
                <td class="green-mark">&#x2714;</td>
            </tr>
            <tr>
                <td>Data manipulation</td>
                <td class="green-mark">&#x2714;</td>
                <td class="green-mark">&#x2714;</td>
            </tr>
            <tr>
                <td>Third-party integrations</td>
                <td class="green-mark">&#x2714;</td>
                <td class="green-mark">&#x2714;</td>
            </tr>
            <tr>
                <td>Self-hosting options</td>
                <td class="green-mark">&#x2714;</td>
                <td class="green-mark">&#x2714;</td>
            </tr>
            <tr>
                <td>Custom code support</td>
                <td class="green-mark">&#x2714;</td>
                <td class="green-mark">&#x2714;</td>
            </tr>
            <tr>
                <td>Workflow automation</td>
                <td class="green-mark">&#x2714;</td>
                <td class="green-mark">&#x2714;</td>
            </tr>
            <tr>
                <td>Component designer</td>
                <td class="green-mark">&#x2714;</td>
                <td class="red-mark">&#x274C;</td>
            </tr>
        </tbody>
    </table>

</body>
</html>
<!--kg-card-end: html--><h2 id="why-to-switch-from-interanl-to-jet-admin">Why to Switch from Interanl to Jet Admin?<br></h2><p>Jet Admin&#x2019;s workflow process is similar to the Internal one. Migration will be an easy task with the advanced support of our no-code platform, extensive data sources, and thorough detailed documentation.</p><p>Jet Admin supports the data sources you are already working with PostgreSQL, MySQL, Google Sheets, Airtable, BigQuery, and more. As well, similar to Internal, Jet works through API making the transaction process even more smooth and fast. </p><p>Another great advantage is the ability to use the popular integrations your software relies on such as Stripe, Hubspot, and Zendesk. </p><p><em>Internal looks like the best tool for your needs? There are some cons why considering Jet Admin.</em></p><h3 id="native-code-support">Native Code Support<br></h3><p>You may like the way Internal supports native code which can help a lot in terms of creating unique and highly customized web applications. So does Jet Admin, providing you with the ability to tune up your software for your business needs by adding some extra customization. Why does this matter?</p><p>Custom code allows users to extend the capabilities of no-code platforms beyond their built-in features. This can be extremely useful for implementing niche functionalities, integrating with specific APIs or systems, or customizing the platform&apos;s behavior to fit the unique workflows you may use. </p><p>While no-code builders offer drag-and-drop building systems and ready-to-use components for common tasks more complex logic may require custom code. This could involve manipulations, conditional branching, or advanced algorithms that are not easy to create through the platform&apos;s visual tools.</p><p>Custom code is extremely useful in terms of performance optimization of specific routines or algorithms. The need for custom code rises as the solution you create handles more data and requires real-time responsiveness.</p><h3 id="integration-with-existing-code">Integration with Existing Code</h3><p>Custom code makes it easy to integrate no-code solutions with existing codebases. This can be useful for connecting no-code applications to legacy systems and extend existing code with no-code components, or incorporate no-code solutions into larger software architectures.</p><p>Another essential advantage of code is the ability to troubleshoot or debug your app. This is crucial for identifying and resolving complex issues, especially when it comes to logic or integrations.</p><h3 id="third-party-integration">Third-Party Integration<br></h3><p>Jet Admin similar to Internal provides wide <a href="https://www.jetadmin.io/integrations">integration</a> options to connect with third-party services, enabling data exchange and workflow automation easy and fast. </p><p>Both platforms provide pre-built connectors for popular services, API integration, webhook support, and the ability to create custom scripts for complex scenarios. Thus allowing users to enhance data sharing, expand the functionality of their applications, and, in the end, streamline all operations.</p><h3 id="self-hosting">Self-hosting</h3><p>Both tools provide self-hosting on various platforms such as Docker, Kubernetes, AWS Elastic Beanstalk, etc.</p><h3 id="workflow-automation">Workflow Automation</h3><!--kg-card-begin: html--><iframe width="560" height="315" src="https://www.youtube.com/embed/_mbNeLJDqpU?si=Fde-AFcwIpFxELJx" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>Jet Admin and Internal.io have several similarities in their <a href="https://docs.jetadmin.io/user-guide/workflow">workflow automation</a> processes, offering: </p><p><strong>Visually intuitive interfaces</strong>. Drag-and-drop interfaces and pre-built components simplify workflow creation, making it accessible to users with limited technical expertise.</p><p><strong>Trigger-based automation.</strong> Automations can be triggered by various events, such as button clicks, data changes, or external API calls.</p><p><strong>Conditional branching.</strong> Conditional logic grants dynamic execution of actions based on specific conditions and enables flexible and adaptable workflows.</p><p><strong>Data manipulation.</strong> Both platforms can handle data changes within workflows, which helps to automatically process and improve data.</p><p><strong>Integrations with third-party services. </strong>Pre-built connectors, API integration, and webhook support data exchange and automation with external systems.</p><h3 id="drag-and-drop-builder">Drag and Drop builder</h3><p>Thus, we&apos;ve arrived at the most crucial and user-favored feature - the drag-and-drop builder. Both tools make it easy to build complex web applications using drag-and-drop blocks. This approach lets you customize your applications quickly and easily. With a wide variety of elements to choose from, you can tailor your tools to fit your specific needs, making these builders extremely valuable for your business case.</p><p>However, Jet Admin has taken a step ahead of its competitors by launching the component designer. It lets you create your own custom components, which can be used to add unique features to your applications and power them with extra customization. This makes Jet Admin a great choice for businesses that need to create unique and highly customized applications.</p><h2 id="last-words">Last Words</h2><p>Our team understands how it is important to find the right tool to migrate. In order to help you with this crucial decision Jet Admin&#x2019;s team will be happy to provide you with:</p><ul><li>Switching Assistance,</li><li>Advanced customer support,</li><li>Data migration assistance,</li><li>Extended free trial &#xA0;- Up to 28 days!</li></ul><p>Feel free to contact us via our website widget, Email at <a href="mailto:info@jetadmin.io">info@jetadmin.io</a>, or <a href="https://www.jetadmin.io/contact">schedule a call</a>.</p><p>Useful links:</p><ul><li><a href="https://docs.jetadmin.io/">Academy</a>,</li><li><a href="https://www.jetadmin.io/templates">Check some examples of what can be built on Jet Admin</a>,</li><li><a href="https://www.jetadmin.io/integrations">Be sure the integration you need is here</a>.</li></ul>]]></content:encoded></item><item><title><![CDATA[Create Multi-Step Forms with Jet Admin]]></title><description><![CDATA[Create a multi-step forms with Jet Admin the using temporary variables and conditional visibility. Read our ultimate guide!]]></description><link>https://www.jetadmin.io/blog/create-multi-step-forms-with-jet-admin/</link><guid isPermaLink="false">65592b000189370001cc855b</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Tue, 21 Nov 2023 14:26:12 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/11/create-multi-step-forms.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/11/create-multi-step-forms.png" alt="Create Multi-Step Forms with Jet Admin"><p>In this guide we are going to create a multi-step forms with Jet Admin using temporary variables and conditional visibility. </p><p></p><p><em>Feel like watching instead? Click here for a quick video tutorial!</em></p><p></p><!--kg-card-begin: html--><iframe width="560" height="315" src="https://www.youtube.com/embed/gCWxPG-jTME?si=ChWlNTut-jBjZgeV&amp;controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>Temporary variables and <a href="https://docs.jetadmin.io/getting-started/part-2-intermediate/conditional-visibility">conditional visibility</a> can be extremely useful as it allows for a dynamic and user-friendly data input process. </p><p><a href="https://docs.jetadmin.io/user-guide/variables">Temporary variables</a> enable the storage of intermediate data between steps, while conditional visibility ensures a streamlined user experience by displaying only relevant form fields based on user inputs, simplifying complex data entry tasks and improving overall form navigation.</p><h3 id="create-multi-step-forms-from-scratch"><br>Create Multi-Step Forms from Scratch</h3><p><strong>Step 1</strong>: Start by creating a new page, selecting the blank layout.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/youtube-video-gif--3-.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 2</strong>: Create Modals and select a style.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/Create-Modals-and-select-a-style.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 3</strong>: Create a button that will open the Modal window.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/Create-a-button-that-will-open-the-Modal-window.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 4</strong>: Create containers to host the steps. Add as many containers as necessary for your use case. </p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/Create-containers-to-host-steps.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 5</strong>: Start by creating the forms inside the container. Input forms, connect your resource and customize them.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/Input-forms--connect-your-resource-and-customize-them.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 6</strong>: You are free to preselect the status of any step in the multi-step form you are creating, as well as to hide fields using conditional visibility by setting it up to 0.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/hide-fields-using-conditional-visibility.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 7</strong>: Add buttons that allow switching between the steps in the form.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/add-buttons.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 8</strong>: Fill your cards as necessary using the components and selecting collections (in our case, we will use a pre-built Gallery).</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/Fill-your-cards-as-necessary.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 9</strong>: Add a search bar and the filters you may need.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/add-filters-and-search-bar.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 10</strong>: Drag and drop the progress bar. This will help users better navigate through the forms, understanding their progress.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/Drag-and--drop-progress-bar.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 11</strong>: Create a temporary variable to inform Jet Admin about the current step in the form.</p><p>Connect the slider to reflect the current step using the created variable.</p><p>Ensure that each button changes the variable corresponding to the current step.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/temp-variable.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><p><strong>Step 12</strong>: Configure visibility settings based on the current step variable for all three containers using <a href="https://docs.jetadmin.io/user-guide/computed-columns/formulas">Formulas</a>.</p><p>Don&apos;t forget to check the &quot;Load content when hidden&quot; button so the card will show up according to your settings and the user&apos;s progress.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/11/Configure-visibility.gif" class="kg-image" alt="Create Multi-Step Forms with Jet Admin" loading="lazy" width="720" height="405"></figure><h3 id="how-to-create-powerful-forms">How to Create Powerful Forms? <br></h3><h3 id="identify-form-sections">Identify Form Sections</h3><p>Start by identifying the distinct sections or categories of information you want to collect. Break down your form into logical steps to provide a smooth progression for users.</p><h3 id="add-steps-to-your-form">Add Steps to Your Form</h3><p>Jet Admin allows you to easily add steps to your form. Simply drag and drop the form elements you need for each section, organizing them into separate steps.</p><h3 id="configuring-form-elements">Configuring Form Elements</h3><p>Take advantage of Jet Admin&apos;s drag-and-drop functionality to add various form elements such as text fields, buttons, dropdowns, filters, and more to each step.</p><h3 id="set-validation-rules">Set Validation Rules</h3><p>Ensure data accuracy by setting validation rules for each form field. Jet Admin provides customizable options to define the type and format of data accepted.</p><h3 id="enhance-user-experience">Enhance User Experience</h3><p>With Jet Admin, you can implement conditional logic to show or hide form elements based on user input.</p><p>Tailor the form dynamically by adjusting the visibility of fields based on previous responses. This not only streamlines the user experience but also allows for more efficient data collection.<br></p>]]></content:encoded></item><item><title><![CDATA[Best Client Portal Software in 2023]]></title><description><![CDATA[Enhance customer satisfaction with the finest client portal software. Explore our list of the top client portals for exceptional CX.]]></description><link>https://www.jetadmin.io/blog/best-client-portal-software-in-2023/</link><guid isPermaLink="false">6540ee3c0189370001cc850e</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Wed, 01 Nov 2023 10:00:23 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/10/Best-Client-Portal-Software.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/10/Best-Client-Portal-Software.png" alt="Best Client Portal Software in 2023"><p>With the ability of seamless communication, efficient data exchange, and enhanced collaboration with clients, client portal software has emerged as an essential tool for businesses. </p><p>The importance of implementing user-friendly and robust client portal software cannot be overstated as the digital landscape continues to evolve. This comprehensive guide aims to dive into the intricacies of client portal software, highlighting its functionalities, essential features, benefits, and best practices, focusing on the most effective strategies for optimizing client interactions and improving overall business efficiency.</p><h2 id="what-is-client-portal-software">What is client portal software?</h2><p>Today&apos;s interconnected and fast-paced business environment requires client portal software to facilitate effective communication and information exchange between businesses and their clients. It simplifies the process of sharing documents, invoices, and other essential data while ensuring data security and confidentiality.</p><p>In developing permanent relationships between businesses and their clients, client portal software plays a pivotal role in fostering transparent communication and creating a user-friendly interface.</p><h2 id="what-should-you-look-for-in-client-portal-software">What should you look for in client portal software?</h2><p>Understanding the key features of client portal software is crucial to evaluating its effectiveness and functionality. There are a number of essential features that should be included in a robust client portal software. Each of them plays a significant role in enhancing the client experience and improving overall business operations.</p><ol><li>Secure Data Encryption: Implementing advanced encryption protocols ensures the security and confidentiality of sensitive client data, protecting it from unauthorized access and potential cyber threats. In today&apos;s digital age, safeguarding data is of paramount importance. Modern client portal software goes beyond basic encryption, employing state-of-the-art security measures such as end-to-end encryption, data tokenization, and robust access control. These advanced techniques not only secure data but also instill confidence in clients, knowing that their information is well-protected.</li><li>Customizable Interface: The ability to customize the portal&apos;s interface according to the branding and visual identity of the business fosters a personalized experience for clients, enhancing brand engagement and recognition. A well-designed, branded portal interface not only conveys professionalism but also strengthens your brand&apos;s presence in the eyes of clients. Today&apos;s client portal solutions offer extensive customization options, allowing businesses to tailor the look and feel of the platform to align with their corporate branding, colors, and logo. This level of personalization creates a seamless transition from your website to the portal, reinforcing your brand&apos;s identity.</li><li>User-Friendly Navigation: Intuitive navigation and a well-designed interface facilitate seamless interactions, enabling clients to easily access the necessary information and navigate the platform without any complications. The user experience is a key focus in modern client portal development. The navigation menus are designed to be user-friendly, with clear labels and intuitive layouts. Responsive design ensures that the portal works smoothly on various devices, from desktop computers to smartphones and tablets. Additionally, features like a powerful search function and a well-organized document repository simplify the client&apos;s journey within the portal.</li><li>Document Management Capabilities: Effective document management tools streamline the process of storing, organizing, and sharing documents, ensuring that clients can access relevant information quickly and conveniently. Document management has evolved to become one of the core functionalities of client portal software. These platforms offer advanced document management capabilities, including version control, collaboration tools, and document categorization. The ability to upload, organize, and share documents seamlessly within the portal ensures that clients have access to the latest information and can collaborate efficiently.</li><li>Real-time Communication Tools: Incorporating real-time communication features, such as instant messaging and video conferencing, promotes efficient and prompt communication between businesses and their clients, facilitating quick query resolution and enhanced collaboration. Communication is at the heart of client portal software. Today&apos;s solutions include real-time chat, video conferencing, and secure messaging options. These tools enable clients and businesses to communicate seamlessly within the portal, eliminating the need for third-party communication platforms and ensuring that all interactions are logged for future reference.</li><li>Scalability and Flexibility: A scalable and flexible platform allows businesses to adapt the software according to their evolving needs and the growing demands of their client base, ensuring seamless operations even during periods of rapid growth. Scalability is a fundamental consideration when choosing a client portal solution. Businesses require a platform that can grow with them. Modern portal software is designed to be scalable, allowing for the addition of new users, features, and functionalities as your business expands. This adaptability ensures that your portal remains a valuable asset even as your client base and services grow.</li><li>Automated Notifications and Updates: Automated notification systems keep clients informed about important updates, deadlines, and events, enhancing transparency and enabling clients to stay engaged and informed about their ongoing projects and interactions. Automated notifications have become a cornerstone of client portal software. Clients receive timely updates about important events, upcoming deadlines, and changes in their projects. These notifications not only keep clients in the loop but also reduce the administrative burden on businesses, ensuring that everyone is on the same page.</li><li>Comprehensive Reporting and Analytics: Robust reporting and analytics tools provide valuable insights into client interactions, usage patterns, and portal performance, empowering businesses to make data-driven decisions and optimize their client engagement strategies. Reporting and analytics have evolved to provide deeper insights into client behavior and interactions. Advanced reporting tools generate detailed analytics on client engagement, document access, and usage patterns. These insights empower businesses to refine their client engagement strategies and tailor their services to meet the specific needs and preferences of their client base.</li></ol><h2 id="the-best-client-customer-portal-software-in-2023">The Best Client &amp; Customer Portal Software in 2023<br></h2><h3 id="jet-admin">Jet Admin</h3><p></p><!--kg-card-begin: html--><iframe width="560" height="315" src="https://www.youtube.com/embed/WpQ-PsAbmD8?si=CrzaR9PYnvXy_NPT" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p>Jet Admin has established itself as a leading client portal software in 2023, offering a comprehensive suite of features tailored to meet the evolving needs of businesses and their clients. </p><p>The robust software solution is widely known for its intuitive user interface, seamless navigation, and advanced security protocols, ensuring a secure and efficient platform for communication and data exchange. </p><p>Jet Admin&apos;s customizable interface allows businesses to incorporate their branding elements seamlessly, creating a personalized and immersive experience for their clients. With its efficient document management tools and real-time communication features, Jet Admin enables businesses to streamline collaboration and enhance overall productivity. </p><p>Moreover, its scalable architecture and comprehensive reporting capabilities make it a preferred choice for businesses looking to optimize their client interactions and streamline internal processes.</p><h3 id="key-benefits">Key Benefits</h3><ul><li>Intuitive User Interface: Jet Admin offers an easy-to-navigate, user-friendly interface, ensuring that businesses and their clients can effortlessly access and utilize the portal.</li><li>Customizable Branding: Businesses can personalize the portal&apos;s interface to seamlessly integrate their own branding elements, creating a unique and immersive experience for clients.</li><li>Document Management: Jet Admin provides efficient document management tools, making it simple to store, organize, and share documents, thus enabling clients to access information conveniently.</li><li>Real-Time Communication: The platform incorporates real-time communication features, including messaging and collaboration tools, promoting efficient and prompt communication between businesses and clients.</li><li>Scalability: Jet Admin&apos;s scalable architecture allows businesses to adapt the software according to their evolving needs and growing client base, ensuring seamless operations during periods of rapid growth.</li><li>Security Protocols: <a href="https://docs.jetadmin.io/data-privacy-and-security">Jet Admin implements advanced security</a> measures to protect sensitive client data, ensuring data confidentiality and safeguarding against unauthorized access and potential cyber threats.</li><li>Comprehensive Reporting: The platform offers robust reporting and analytics tools that provide valuable insights into client interactions, usage patterns, and portal performance, enabling data-driven decision-making and client engagement strategy optimization.</li></ul><h4 id="pricing">Pricing</h4><p>Jet Admin&apos;s Customer Portal offers a range of <a href="https://www.jetadmin.io/pricing/portal">pricing plans</a> to suit various business needs.</p><p>Here&apos;s a summary of their pricing options:</p><p>Starter:</p><ul><li>Price: $39 per month</li><li>Suitable for those getting started</li><li>Basic features included</li><li>No credit card required for a free trial</li></ul><p>Plus:</p><ul><li>Price: $125 per month</li><li>Advanced functionality for rapidly growing businesses</li><li>No credit card required for a free trial</li></ul><p>Pro:</p><ul><li>Price: $290 per month</li><li>Advanced functionality for rapidly growing businesses</li><li>No credit card required for a free trial</li></ul><p>Enterprise:</p><ul><li>Price: $649 per month</li><li>Enterprise-grade security and performance for large businesses</li><li>No credit card required for a free trial</li></ul><p>Usage:</p><ul><li>Additional users can be added for a monthly fee, starting at $50 per month for an extra 1,000 users.</li></ul><p>Number of Apps:</p><ul><li>All plans include access to one app, except the PRO plan, which allows for up to three apps.</li></ul><p>Support:</p><ul><li>Support options vary by plan and include self-service knowledge base, email support, and shared Slack. The Enterprise plan offers a personal customer success manager and tailored onboarding programs.</li></ul><p>App Builder:</p><ul><li>Features in the App Builder category include building blocks, database integrations, data syncing, variables, business apps integration, query builder, and more.</li></ul><p>Premium Features:</p><ul><li>Premium features encompass user role-based permissions, file storage (ranging from 1GB to custom amounts), custom domains, white labeling, automations/workflows, version control, custom components, and a public API.</li></ul><p>Advanced Features:</p><ul><li>Advanced features include on-premise setup, single sign-on (SSO) options like SAML and Okta, a 99.9% uptime service level agreement (SLA), and advanced sign-in/sign-up customization.</li></ul><p>These pricing plans offer flexibility to cater to a wide range of business sizes and requirements, with options for both monthly and annual billing.</p><h3 id="bubble">Bubble<br></h3><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/10/Bubble-Customer-Portal.png" class="kg-image" alt="Best Client Portal Software in 2023" loading="lazy" width="949" height="418" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/10/Bubble-Customer-Portal.png 600w, https://www.jetadmin.io/blog/content/images/2023/10/Bubble-Customer-Portal.png 949w" sizes="(min-width: 720px) 720px"></figure><p>Bubble is a formidable no-code platform that empowers you to create virtually anything you can imagine, including a client portal. With Bubble, the possibilities are boundless.</p><p>However, due to its immense flexibility and scope, there is a learning curve when you first delve into Bubble&apos;s capabilities. This is why a thriving ecosystem of agencies and online courses has sprung up to help users master the tool.</p><p>Bubble&apos;s versatility means you can construct features from the ground up, including your own sign-up system and data management&#x2014;all within a unified environment.</p><p>When crafting a client portal web app, you have the advantage of implementing conditions. This allows you to create responsive actions based on user interactions, such as changing the color of a component on hover. Every aspect of your web app can be customized with unique logic.</p><p>Bubble&apos;s intuitive drag-and-drop editor enables the creation of visually stunning pages without the need for HTML or CSS expertise. Plus, the platform boasts over 800 plugins to extend its functionality further.</p><p>For newcomers to Bubble, the Billing Starter Kit provides a comprehensive starting point, offering all the necessary components for building a robust client portal.</p><h4 id="key-features">Key Features</h4><ul><li>UX Customization: Tailor the user experience to your exact specifications.</li><li>Data &amp; Account Management: Easily manage data and user accounts within the platform.</li><li>Integration Flexibility: Seamlessly integrate with a wide range of external services and systems.</li><li>Multilingual Capabilities: Create multilingual apps to reach a global audience.</li><li>Dynamic Content: Implement dynamic content that adapts to user interactions.</li><li>Robust Hosting: Benefit from reliable and secure hosting for your web apps.</li></ul><h4 id="pricing-1">Pricing</h4><p>All Bubble plans grant full access to the Bubble app editor and hosting. You can start building your app for free and later upgrade to access premium features and email support.</p><ul><li>Free: Includes core platform features, Bubble branding, and community support.</li><li>Starter: Offers core platform features, API access, custom domain support, and email support. Starts from $32 per month (if paid annually).</li><li>Growth: Provides 3 units of server capacity, 2 application editors, 2 development versions, and more. Starts from $119 per month (if paid annually).</li><li>Team: Offers 10 units of server capacity, 15 application editors, 20 development versions, and additional advanced features. &#xA0;Starts from $349 per month (if paid annually).</li></ul><h3 id="softr">Softr<br></h3><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/10/Softr-Client-Portal.png" class="kg-image" alt="Best Client Portal Software in 2023" loading="lazy" width="949" height="441" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/10/Softr-Client-Portal.png 600w, https://www.jetadmin.io/blog/content/images/2023/10/Softr-Client-Portal.png 949w" sizes="(min-width: 720px) 720px"></figure><p>Softr stands as a no-code custom app builder with a unique focus on harnessing Airtable and Google Sheets data to create client portals, partner portals, and internal tools tailored to your specific needs.</p><p>What sets Softr apart is its approach&#x2014;you don&apos;t receive a rigid, pre-defined client portal. Instead, you build it from the ground up, crafting it to precisely align with your business requirements. The software&apos;s versatility extends beyond client portals, offering the potential to expand into additional solutions as your business evolves, such as a sales CRM portal or online marketplace.</p><h4 id="key-features-1">Key Features</h4><ul><li>Template-Based Customization: Start from feature-rich templates for client portals, employee intranet portals, and sales CRM platforms, then tailor them to your requirements.</li><li>Secure Data Handling: Softr employs server-side authentication powered by AWS for top-tier data protection, performance, scalability, and availability.</li><li>Members-Only Access: Control access to specific pages or sections based on user roles, company affiliation, and payment rules.</li><li>Custom Form Builder: Easily create custom forms with various field types, and seamlessly integrate responses with platforms like Airtable using Zapier or Integromat.</li><li>Secure Payments: Facilitate both recurring and one-time payments, and apply codes or coupons at checkout.</li><li>Customer Support: Softr offers a wealth of resources, including guides, articles, videos, and seven-days-a-week live chat support to assist with any challenges.</li></ul><h4 id="pricing-2">Pricing<br></h4><p>Softr offers a free plan, perfect for those just starting. For more advanced features, consider the following options:</p><ul><li>Basic: Ideal for individuals and startups building data-driven apps, priced at $49 per month (billed annually).</li><li>Professional: Designed for companies needing custom apps with advanced features, available at $139 per month (billed annually).</li><li>Business: Tailored for teams and companies in need of robust portals and internal tools, priced at $269 per month (billed annually).</li></ul><h3 id="stacker">Stacker<br></h3><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/10/Stacker-Client-Portal.png" class="kg-image" alt="Best Client Portal Software in 2023" loading="lazy" width="949" height="418" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/10/Stacker-Client-Portal.png 600w, https://www.jetadmin.io/blog/content/images/2023/10/Stacker-Client-Portal.png 949w" sizes="(min-width: 720px) 720px"></figure><p>Stacker is a no-code solution for constructing not only client portals but also an array of other applications, including internal tools, partner apps, and custom CRMs.<br></p><p>What distinguishes Stacker is its focused functionality, which some consider an advantage while others may perceive it as a limitation. The verdict depends on your specific requirements. Stacker enables you to integrate data from sources like Airtable, Google Sheets, and Salesforce.<br></p><p>Before sharing your web app, ensure you personalize the branding to align with your business identity. Once ready, you can effortlessly share the application with other members, granting them the ability to view and edit their own records. Any changes they make to the data will automatically update in your data source.<br></p><h4 id="key-features-2">Key Features</h4><ul><li>Customizable UI &amp; Branding: Tailor the user interface and branding to reflect your unique identity.</li><li>Data Integration: Easily link and sync data from Airtable, Google Sheets, and Salesforce.</li><li>User Authentication: Implement user authentication for secure access control.</li><li>Collaborative Work: Enable collaborative work on your applications, allowing multiple users to interact seamlessly.</li></ul><h4 id="pricing-3">Pricing<br></h4><p>All Stacker plans offer unlimited external users and community support. Choose from the following plans to match your needs:</p><ul><li>Starter: Priced at $59 per month, this plan includes one app, 10,000 records, and more.</li><li>Plus: Available for $149 per month, this plan provides access to three apps, unlimited records, and allows for three collaborators, among other features.</li><li>Pro: Priced at $290 per month, the Pro plan offers unlimited apps and permits up to 10 collaborators, along with additional features.</li><li>Enterprise: For those with extensive requirements, the Enterprise plan offers unlimited workspaces, white labeling, and more, tailored to your specific needs.</li></ul><h3 id="zoho-creator">Zoho Creator</h3><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/10/Zoho-Creator-Customer-Portal.png" class="kg-image" alt="Best Client Portal Software in 2023" loading="lazy" width="949" height="418" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/10/Zoho-Creator-Customer-Portal.png 600w, https://www.jetadmin.io/blog/content/images/2023/10/Zoho-Creator-Customer-Portal.png 949w" sizes="(min-width: 720px) 720px"></figure><p>Zoho Creator stands as a powerful low-code application development platform, empowering users to craft, create, and deploy various business software, including the development of customer portals.</p><h4 id="key-benefits-1">Key Benefits</h4><ul><li>Efficient Data Organization: Zoho Creator simplifies the process of organizing client data and offers the flexibility to fine-tune user permissions according to your specific requirements.</li><li>Stand-out Features:</li><li>Multiplatform Accessibility: Users and team members can access Zoho Creator portals effortlessly on both computers and mobile devices, ensuring seamless connectivity. You can also engage customers through web, email, and mobile push notifications.</li><li>Streamlined User Management: Manage portal users with ease by adding them individually or in bulk. Categorize them based on approval status, and employ dynamic user additions using scripts.</li><li>Robust Authentication Options: Choose from multiple authentication mechanisms, including single sign-on (SSO) with third-party identity providers or federated logins via platforms like Google and Facebook.</li><li>Customized Notifications: Enhance user communication with personalized email notifications, tailored to your audience&apos;s specific preferences.</li></ul><h4 id="pricing-4">Pricing<br></h4><p>Zoho Creator offers a 15-day free trial to get you started, after which you can opt for one of the following plans:</p><ul><li>Professional Plan: Ideal for businesses with multiple software needs, this plan supports up to five applications and provides flexibility in user count. It&apos;s priced at $25 per month (billed annually).</li><li>Ultimate Plan: Tailored for large organizations with intricate software requirements, this plan offers unlimited apps and records, priced at $400 per month (billed annually).</li></ul><h2 id="benefits-of-implementing-client-portal-software">Benefits of Implementing Client Portal Software</h2><p>The integration of client portal software into business operations offers a multitude of benefits, contributing to improved efficiency, enhanced client satisfaction, and streamlined communication. Some of the key benefits include:</p><p>1. Enhanced Operational Efficiency: By providing clients with self-service options and effectively handling routine tasks and queries, businesses can optimize their operational efficiency and reduce the workload on their customer support teams, allowing them to focus on more complex client issues and strategic initiatives.</p><p>2. Strengthened Client Relationships: The implementation of client portal software fosters stronger and more transparent client relationships by providing a centralized platform for communication and data exchange, building trust and credibility between businesses and their clients.</p><p>3. Improved Data Security Measures: Robust data security measures safeguard sensitive client information, protecting it from potential cyber threats and ensuring compliance with data protection regulations, thereby enhancing clients&apos; confidence in the security of their data.</p><p>4. Streamlined Collaboration Processes: The collaborative nature of client portal software enables seamless collaboration between businesses and their clients, facilitating efficient document sharing, project management, and collaborative discussions, thereby enhancing overall productivity and teamwork.</p><p>5. Facilitated Access to Information: With a centralized repository for documents, invoices, and other essential data, client portal software provides clients with convenient access to information, enabling informed decision-making and enhancing the overall client experience.</p><p>6. Increased Transparency and Accountability: Transparent communication and accessible data within the client portal software foster increased transparency and accountability, enabling clients to stay informed about project updates, milestones, and other critical information, fostering a sense of trust and reliability.</p><h2 id="optimizing-client-interaction-with-effective-portal-software-strategies">Optimizing Client Interaction with Effective Portal Software Strategies</h2><p>Implementing an effective client portal software strategy is essential for maximizing its potential and ensuring seamless interactions between businesses and their clients. Some strategies to optimize client interaction include:</p><p>1. Personalized Client Experiences: Tailor the client portal software to provide personalized experiences, offering customized recommendations, and personalized content based on clients&apos; preferences and past interactions with the platform.</p><p>2. Proactive Client Support: Implement <a href="https://www.forbes.com/sites/allbusiness/2023/01/09/9-effective-ways-to-be-proactive-about-customer-service/?sh=179ea98024df">proactive client support</a> initiatives, such as automated reminders and notifications, to keep clients informed about upcoming deadlines, events, and important updates, ensuring timely and effective client engagement.</p><p>3. Interactive Training and Resources: Provide interactive training materials and resources within the client portal software to educate clients about the platform&apos;s features and functionalities, enabling them to utilize the software effectively and independently.</p><p>4. Seamless Integration with Business Processes: Integrate the client portal software seamlessly with existing business processes and systems, ensuring that it complements the overall workflow and enhances operational efficiency without causing any disruptions.</p><p>5. Regular Client Feedback and Surveys: Collect regular client feedback and conduct surveys within the client portal software to gain insights into client preferences, needs, and pain points, enabling businesses to make data-driven improvements and optimize the overall client experience.</p><p>6. Continuous Software Updates and Maintenance: Regularly update and maintain the client portal software to ensure that it remains secure, functional, and aligned with the evolving needs and technological advancements in the industry, providing clients with a seamless and up-to-date user experience.</p><h2 id="the-future-of-client-portal-software-trends-and-predictions">The Future of Client Portal Software: Trends and Predictions</h2><p>Looking ahead, the future of client portal software is expected to witness significant advancements and innovations driven by emerging technologies and changing client expectations. Some of the anticipated trends and predictions for the future of client portal software include:</p><p>1. Enhanced AI Integration: The integration of advanced artificial intelligence (AI) capabilities within client portal software is expected to revolutionize client interactions, enabling businesses to offer personalized recommendations, automate processes, and provide intelligent insights to clients.</p><p>2. Blockchain for Enhanced Security: The adoption of <a href="https://www.ibm.com/topics/blockchain-security">blockchain technology for enhanced data security</a> and transparency within client portal software is expected to become increasingly prevalent, enabling businesses to build trust and credibility by ensuring the integrity and immutability of client data.</p><p>3. Augmented Reality (AR) for Enhanced Engagement: The integration of augmented reality (AR) features within client portal software is expected to enhance client engagement and user experience, allowing clients to visualize products and services in a more interactive and immersive manner.</p><p>4. Integration of Voice Recognition Technology: The integration of voice recognition technology within client portal software is expected to streamline client interactions, enabling clients to navigate the platform and access information through voice commands, enhancing accessibility and user convenience.</p><p>5. Focus on Predictive Analytics: The adoption of predictive analytics tools within client portal software is expected to enable businesses to anticipate client needs and preferences more accurately, enabling them to offer personalized recommendations and tailored solutions in real-time.</p><p>6. Emphasis on Data Privacy and Compliance: The increasing emphasis on data privacy and compliance regulations is expected to drive the implementation of more stringent data protection measures within client portal software, ensuring that businesses adhere to the highest standards of data security and privacy.</p><h2 id="how-tochoose-the-right-client-portal-software">How toChoose The Right Client Portal Software? <br></h2><p>Implementing an effective client portal software strategy requires a systematic and well-planned approach that takes into account the specific needs and requirements of the business, as well as the preferences and expectations of the client base. Some key steps to consider when implementing a client portal software strategy include:</p><p>1. Conducting a Comprehensive Business Analysis: Conduct a comprehensive analysis of the business processes, client interactions, and existing communication channels to identify the specific areas where client portal software can add value and streamline operations.</p><p>2. Defining Clear Objectives and Key Performance Indicators (KPIs): Define clear objectives and key performance indicators (KPIs) to measure the success and effectiveness of the client portal software strategy, ensuring that it aligns with the broader business goals and objectives.</p><p>3. Selecting the Right Client Portal Software Solution: Conduct thorough research and evaluate various client portal software solutions available in the market, considering factors such as security features, customization options, user-friendliness, and scalability, to select the most suitable solution for the business.</p><p>4. Customizing the Client Portal Software to Align with Business Needs: Customize the client portal software to align with the specific requirements and branding of the business, ensuring that it reflects the business&apos;s values, vision, and unique selling propositions to create a cohesive and immersive client experience.</p><p>5. Training and Onboarding Clients and Employees: Provide comprehensive training and onboarding sessions to both clients and employees to ensure that they understand the functionalities and features of the client portal software, empowering them to utilize the platform effectively and independently.</p><p>Wonder how to simplify your onboarding journey? <a href="https://www.jetadmin.io/templates/customer-onboarding-tool">Try Jet&apos;s Onboarding Tool Template</a>!</p><p>6. Monitoring and Continuous Improvement: Continuously monitor the performance of the client portal software, collect client feedback, and conduct regular assessments to identify areas for improvement and optimization, ensuring that the software remains up-to-date, secure, and aligned with the evolving needs and preferences of the client base.</p><h2 id="conclusion-leveraging-client-portal-software-for-business-success">Conclusion: Leveraging Client Portal Software for Business Success</h2><p>In conclusion, the integration of robust and user-friendly client portal software is essential for businesses seeking to enhance client interactions, streamline communication, and foster long-lasting client relationships. By prioritizing features such as data security, user-friendliness, customization options, and scalability, businesses can leverage client portal software to optimize their operational efficiency, strengthen client relationships, and stay ahead of the competition in an increasingly digital business landscape. </p><p>By adopting effective client portal software strategies and staying attuned to the latest trends and advancements in the industry, businesses can position themselves for sustained growth, success, and client satisfaction in the years to come.</p><p>Try Jet&#x2019;s <a href="https://www.jetadmin.io/solutions/customer-portals">customer portal builder</a> today to create your unique solution tailored to your business needs. <br></p><h2 id="faq">FAQ</h2><h3 id="what-is-included-in-a-customer-portal">What is included in a customer portal?<br></h3><p>A customer portal typically includes features like user authentication, document sharing, communication tools, self-service resources, service requests, order and payment management, analytics, integration capabilities, and robust security to enhance the interaction between a business and its customers.</p><h3 id="how-do-i-create-a-portal-for-my-business">How do I create a portal for my business?<br></h3><p>To create a customer portal for your business, start by defining your objectives and choosing suitable software. Design a user-friendly interface, implement secure user authentication, select and integrate the necessary features, and thoroughly test the portal for functionality and security. Provide user training and support, then launch and promote it to your customers. Continuously gather feedback for improvements.<br><br></p>]]></content:encoded></item><item><title><![CDATA[6 Best CRM Portals for Your Business]]></title><description><![CDATA[Discover the top 6 CRM tools tailored to elevate your business performance. Streamline operations and maximize customer relationships.]]></description><link>https://www.jetadmin.io/blog/6-best-crm-portals-for-your-business/</link><guid isPermaLink="false">652fa4e30189370001cc84b4</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Wed, 18 Oct 2023 12:34:00 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/10/Best-CRM-Portals-for-Your-Business.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/10/Best-CRM-Portals-for-Your-Business.png" alt="6 Best CRM Portals for Your Business"><p>With a rising demand for self-service tools, it becomes an urgent need for companies to adapt and review their strategies. Whether you run a small or large business, you need solutions to meet customer expectations, increase employee productivity, and ensure high performance. </p><p>A way to extend your business possibilities is through customer relationship management portals. This article will explore what a CRM portal is and how you can benefit from implementing one.</p><h2 id="what-is-a-crm-portal">What Is a CRM Portal<br></h2><p>A CRM or client portal is an online place where clients can interact with your business. Here, they can access resources, services, and information on their own. </p><p>Today, customers want to receive readily available support in the form of guides and how-to manuals quickly, update their profile information, submit support requests, and interact with a website/app at their convenience. CRM portals are the gateways that can make all these possible. </p><p>Customer self service portals can assist you in enhancing customer experience, organizing tasks, and keeping up to date with internal conversations. <br></p><h2 id="why-your-business-needs-a-crm-portal"><strong>Why Your Business Needs a CRM Portal</strong><br></h2><p>A CRM portal improves the way businesses work by providing a direct communication channel. </p><p>The benefits of implementing a CRM portal differ for every business. Here are 5 reasons why your business requires a CRM portal:</p><h3 id="greater-productivity"><strong>Greater Productivity </strong><br></h3><p>Managing communication manually through email and other platforms can cause a lot of headaches. First, you&apos;ll need to track all the activities, save progress, check updates, and plan new tasks. Meanwhile, a client portal will allow better collaboration at work, improve interaction with clients, and save you time. This means working with team members and clients on multiple documents, sharing files, and having group discussions easily.</p><h3 id="secure-file-exchange"><strong>Secure File Exchange </strong><br></h3><p>A client portal offers a reliable environment for storing and sharing information. This ensures maximum protection for both internally and externally shared files since the information remains accessible only to the portal provider. By implementing a client portal, you can be sure that your data&apos;s integrity and confidentiality are safeguarded.</p><h3 id="247-accessibility"><strong>24/7 Accessibility</strong></h3><p>A customer portal makes data accessible for clients wherever and whenever they want. Gone are the days when one side is annoyed with waiting for replies to perform basic actions, and the other side is struggling with all the email chains and task management. With a CRM portal, users can get the documents they want regardless of the time zone and the day of the week. </p><h3 id="more-sales"><strong>More Sales</strong></h3><p>You can boost your brand awareness and build long-term trust with CRM portals that have features for marketing and sales. By getting feedback easily, you&apos;ll be able to identify customer buying patterns, tailor your offerings to customer needs,</p><p>refine your services, and find cross-selling opportunities. With the use of the tools, you&apos;ll keep your customers happy and drive more sales. </p><h3 id="operational-scalability"><strong>Operational Scalability</strong></h3><p>At the very start of their business, most companies manage their client base through emails and various documents. However, as the customer base grows and the volume of tasks increases, customer portal software becomes necessary. With the software providing self-service features, there&#x2019;s less need for in-person assistance.</p><h2 id="6-best-crm-client-portals-for-your-business">6 Best CRM (Client Portals) for Your Business <br></h2><p>The choice of a CRM portal requires careful consideration. Here is our list of the 6 best client portals according to their key features that you might find helpful: </p><h3 id="jet-admin">Jet Admin</h3><p>Great for building custom client portals from scratch quickly</p><p>Jet Admin is a no-code builder using which you can create a custom client portal really fast. The tool is simple to use and doesn&apos;t require coding skills. Jet provides ready-to-use UI components to build the functionality you want. Just drag and drop templates to create a tool for internal project management, <a href="https://www.jetadmin.io/templates/customer-onboarding-tool">client onboarding</a>, payments gateway, or something else. You can collect business data in one place and provide users with interactive experiences through integrations and custom APIs. Consider Jet Admin if you&apos;re looking for quick prototyping and custom logic creation. </p><h3 id="microsoft-dynamics-365"><strong>Microsoft Dynamics 365</strong></h3><p>Great for automation and client lifecycle management </p><p><a href="https://dynamics.microsoft.com/en-us/">Microsoft Dynamics 365</a> is a suite of applications for sales, customer service, finance, marketing, and supply chain management. Selecting the applications for your business needs, you can improve operations, provide personalized customer experience, track order processing, and more. Service functionalities allow users to easily manage their accounts and get accurate data reports. Consider Microsoft Dynamics 365 if you want a CRM portal to easily integrate with other Microsoft products and unify different business apps. </p><h3 id="salesforce"><strong>Salesforce</strong></h3><p>Great for sales automation</p><p><a href="https://www.salesforce.com/">Salesforce</a> can help you enhance communication and resource exchange between sales, marketing, and tech teams. The software offers different products to connect with customers. You can choose apps that fit your sales process goals. Salesforce offers automated self-service tools and real-time data management. Using the product may require team training. Check out Salesforce if you&apos;re looking for efficient management of sales pipelines. </p><h3 id="zoho"><strong>Zoho</strong></h3><p>Great for low-code app building</p><p><a href="https://www.zoho.com/creator/online-customer-portal/">Zoho Creator </a>by the tech company Zoho allows you to develop self-service portals with little coding. With the software, you can build client and business portals to improve document management and easy access to the needed information. By installing and customizing app templates, you can create tools for process automation. App deployment is available on the web and mobile. Give Zoho a try if you want to build custom apps with minimal coding. </p><h3 id="suitedash"><strong>Suitedash</strong></h3><p>Great for a client portal with lots of features </p><p><a href="https://suitedash.com/">Suitedash</a> provides businesses with a place to communicate with clients, track projects, and manage finances without switching channels. The software offers various functionalities, including client onboarding, appointment scheduling, invoicing, and outreach. Suitedash may be a good choice if you are looking for a tool that allows managing a large number of activities. </p><h3 id="zendesk"><strong>Zendesk</strong></h3><p>Great for customer support management </p><p><a href="https://www.zendesk.com/sg/service/help-desk-software/">Zendesk&apos;s help desk management solution </a>offers customizable tools for customer service portal and community building. It has a user-friendly interface, which allows customers to find answers to their questions quickly. Zendesk offers live chat features and operability with other apps. It significantly increases the efficiency of customer support due to automation, analytics, and reporting features. Check out the Zendesk Support Service suite if you&apos;re looking for easy query management and real-time communication with clients. </p><h2 id="features-you-should-look-for-in-a-crm-customer-portal"><strong>Features You Should Look For in a CRM Customer Portal</strong><br></h2><p>With different client portal solutions available today, it may be overwhelming to decide which one to select. When making a decision about software implementation that covers your requirements, there are some basic features to pay attention to:</p><p><br><strong>Integration possibilities:</strong> The interoperability of a client portal software with other tools you&apos;re using will improve your overall business processes, from data analytics to customer support. You can create custom automation based on your needs. </p><p><strong>Scalability: </strong>Your business needs will probably change over time. With a scalable solution that allows you to cover both immediate and long-term goals, you would be able to respond to changes quickly.<br></p><p><strong>User Experience: </strong>Software simplicity and ease of use will save a lot of time for you and your clients. Consider client portal solutions that are easy to set up, access, and navigate to achieve better results.</p><p><br><strong>Resource sharing: </strong>File sharing with multiple clients and team members is a top feature to look for. It will improve project management and file exchange between parties, allowing easy access to documents, tasks, and events.</p><p><br><strong>Security: </strong>Every business aims to provide maximum security of files and avoid data breaches. To protect data, choose a client portal solution that doesn&apos;t collect private data and follows security best practices.</p><h2 id="how-to-implement-customer-portals"><strong>How to Implement Customer Portals</strong><br></h2><p>The first question about a client portal implementation is probably whether to build a solution or purchase one. Traditionally, you would need to choose between quick availability but less customization of ready-to-use systems and flexibility in creating your customer portal, which could take a lot of time.</p><p>We built a no-code builder to allow you to use the benefits of both by getting started with your <a href="https://www.jetadmin.io/customer-portals">custom CRM client portal in minutes</a>. </p><p>Here are a few steps to implement your customer portal in Jet Admin: </p><p><strong><strong><strong>Decide on the functionalities of your CRM portal</strong></strong></strong></p><p>Start with clearly defining the purpose and features of your portal: file storage size, customer onboarding, communication channels, doing reports, etc. </p><p><strong><strong><strong>Connect your data</strong></strong></strong></p><p>Select the resources from which you want to connect your data. You can sync data from multiple sources: Google Sheets, HubSpot, Stripe, etc. &#xA0;</p><p><strong><strong><strong>Build the app interface</strong></strong></strong></p><p>Next, Drag and drop UI components to build an interface. You can customize customer details by rearranging the templates and changing the design. </p><p><strong><strong><strong>Set authorization and access rights</strong></strong></strong></p><p>Choose how you want to invite new users to the customer portal. New members will be able to join automatically. </p><p><strong><strong><strong>Start collaborating</strong></strong></strong></p><p>Once you finalized the building, you&apos;re all set up to collaborate with others and automate your workflow. </p><p><em>Check out our </em><a href="https://www.youtube.com/watch?v=WpQ-PsAbmD8&amp;t=52s&amp;ab_channel=JetAdmin"><em>YouTube tutorial</em></a><em> on how to create a client portal in 5 minutes. </em></p><h3 id="conclusion"><strong>Conclusion</strong></h3><p>Client portal needs to be an easy-to-use, flexible, and secure solution without complex technical barriers for users and team members. Building software tailored to your needs will simplify communication and optimize workflow.</p>]]></content:encoded></item><item><title><![CDATA[How to build a GUI for your Firestore]]></title><description><![CDATA[In this article we show you how to build a GUI for your firestore, step by step ]]></description><link>https://www.jetadmin.io/blog/how-to-build-a-gui-for-your-firestore/</link><guid isPermaLink="false">641ab003db3ca40001d6e010</guid><dc:creator><![CDATA[Michael O'Shea]]></dc:creator><pubDate>Wed, 22 Mar 2023 14:30:00 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/03/Frame-443.png" medium="image"/><content:encoded><![CDATA[<h2 id="introduction">Introduction</h2><img src="https://www.jetadmin.io/blog/content/images/2023/03/Frame-443.png" alt="How to build a GUI for your Firestore"><p>Firebase is a popular backend service many developers use to build web and mobile applications. With Firebase, developers can easily manage user authentication, real-time database, and cloud storage.</p><p>However, managing Firebase can be a bit challenging, especially for users unfamiliar with the command line.</p><p>To make managing Firebase easier, developers can use a Graphical User Interface (GUI). In this tutorial, we will show you how to set up a GUI for your Firebase.</p><h2 id="what-is-firebase">What is Firebase?</h2><p>Firebase is a backend service developed by Google that provides developers with various tools and services to build and manage web and mobile applications.</p><p>Firebase was initially developed as a real-time database, but it has since grown to include other features like user authentication, cloud storage, and hosting. Firebase also provides a comprehensive suite of development tools like analytics, crash reporting, and performance monitoring.</p><p>Firebase&apos;s real-time database is one of its key features. It allows developers to store and sync data in real-time across multiple clients. This makes it easy for developers to build real-time applications like chat apps, social media platforms, and collaborative applications.</p><p>Firebase also provides authentication services that allow developers to manage user authentication for their applications easily. With Firebase authentication, developers can implement various authentication methods like email/password, Google, Facebook, Twitter, and more.</p><h2 id="what-is-a-gui">What is a GUI?</h2><p>A GUI, or Graphical User Interface, is a user interface that allows users to interact with a computer system or other interfaces using graphical elements like buttons, icons, graphics, and menus.</p><p>GUIs are designed to be intuitive and user-friendly and are commonly used in modern operating systems and software applications.</p><p>GUIs differ from command-line interfaces, requiring users to enter text commands to interact with a computer operating system. GUIs are generally easier to use than command-line interfaces, especially for novice users unfamiliar with command-line syntax and commands.</p><p>GUIs can be things like a GUI operating system that allows non-technical users to interact with their personal computers using the visual language of the computer screen or GUIs for specific purposes like managing databases and things like that.</p><p>Some examples of popular GUIs include GUI operating system examples like Microsoft Windows Explorer, Mac OS Finder, and web-based content management systems like WordPress.</p><p>In this tutorial, we will look at using a GUI for Firebase Firestore so that users can interact with visual elements and visual indicators to make managing data easier and avoid having to resort to more complex operations.</p><h2 id="why-use-a-gui-for-firebase">Why use a GUI for Firebase?</h2><p>Using a GUI for managing Firebase can have several benefits. First, a GUI can make managing Firebase easier and more intuitive, especially for users unfamiliar with the command line. The four key functions for interacting with a database are Create, Read, Update, and Delete &#x2013; also known as CRUD functions. Any GUI made for interacting with databases needs to let users accomplish these functions and do so in an easy, intuitive way.</p><p>With a GUI, users can manage their Firebase backend using a point-and-click interface without remembering the complex syntax. A graphical user interface is excellent for users who are not developers, as a GUI allows them to interact with data intuitively and user-friendly.</p><p>A GUI can also improve efficiency and productivity by providing developers a more streamlined and organized way to manage their Firebase backend.</p><p>With a GUI, users can quickly navigate different Firebase features and manage multiple projects in one interface.</p><p>Finally, a GUI can improve collaboration and teamwork by providing developers with a more accessible way to share Firebase project data and settings. With a GUI, developers can easily share access to their Firebase projects with other team members, making it easier to collaborate on projects and allowing them to share those projects with less technical team members thanks to the graphical user interface.</p><h2 id="setting-up-a-firebase-gui-with-firestore">Setting up a Firebase GUI with Firestore</h2><p>Firestore is a NoSQL document-based database provided by Firebase. It allows developers to store and sync data in real-time across multiple clients. As Google&#x2019;s official says, &#x201C;<a href="https://cloud.google.com/firestore/docs#:~:text=Firestore%20is%20a%20NoSQL%20document,describes%20relationships%20between%20data%20 objects" rel="noopener noreferrer">Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development. While the Firestore interface has many of the same features as traditional databases, as a NoSQL database, it differs in the way it describes relationships between data objects.</a>&#x201D;</p><p>Today I&apos;ll walk you through how to make your own GUI. I will use the example of a Firebase Firestore GUI for a company that sells sneakers, and I will make it user-oriented, with a few extra things like charts that convey information visually.</p><p>If you only need a GUI to make navigating through and editing your data more efficient, some of the features I use might be unnecessary.</p><p>Keep reading to learn about Jet Admin&apos;s Data Editor, which may serve your needs if you only look for a bare-bones way to manage data using more intuitive graphical elements.</p><p>The Data Editor lets you complete all the CRUD functions needed for intuitively interacting with your Firestore database. You can see (Read) all of your data in the Data Viewer and add new records by clicking on the<em> New Record</em> button. To edit the information in a cell, click on it and enter a new value. To delete a record, click on the checkbox next to the form and then click the delete button at the top of the table.</p><h2 id="connect-your-firebase">Connect your Firebase</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0--1-.jpg" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1600" height="910" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0--1-.jpg 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0--1-.jpg 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0--1-.jpg 1600w" sizes="(min-width: 720px) 720px"><figcaption>Choose resource</figcaption></figure><p>First, you need to connect your Firebase to your Jet Admin app. Click on <em>Add Resource </em>in the Resources menu (which you can access by hovering over the resources icon on the left), and choose Firebase from the list of resources. Paste your JSON Service Token in, or upload the file with it by clicking on the upload button.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-1.png" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1600" height="910" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-1.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-1.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-1.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Enter Service Token</figcaption></figure><p>After pasting it in or uploading the file, choose the database that you wish to use from the dropdown menu. You will then be prompted to choose an operation mode &#x2013;<em>Sync</em> or <em>Direct Connection</em>.</p><p>Both options have their own advantages, but for this tutorial, I&#x2019;m going to use the <em>Sync</em> option, as it allows me to do SQL queries, blend and join Firestore data with data from other sources, and other things. Choose the option that fits your needs, and click Continue.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-2.png" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1145" height="622" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-2.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-2.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-2.png 1145w" sizes="(min-width: 720px) 720px"><figcaption>Choose operation mode</figcaption></figure><p>You can now choose a layout for your app, start from scratch by choosing the <em>Blank </em>option, or close the modal to look at your data first.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-3.png" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1600" height="910" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-3.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-3.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-3.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Choose a layout</figcaption></figure><p>For a GUI that lets you manage your Firestore database, the <em>Record Update </em>layout might be an excellent place to start, but let&#x2019;s close the window and look at our data in the Data Editor.</p><h2 id="data-editor">Data Editor</h2><p>Depending on your specific needs (for example, if you need a GUI for many users or simply as a more efficient way of managing data yourself), Jet Admin&#x2019;s Data Editor can act as a GUI. The Data Editor has a few essential parts:</p><ol><li>Collections Navigator</li><li>Data Viewer</li><li>Header menu</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-4.png" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1600" height="910" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-4.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-4.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-4.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Data Editor parts: Collections Navigator, Data Viewer, Header Menu</figcaption></figure><h3 id="collections-navigator">Collections Navigator</h3><p>The Collections Navigator allows you to view all of your collections. It has three sections: Collections, SQL Collections, and Storages.</p><h4 id="collections">Collections</h4><p><em>Collections</em> show you all the collections that you have in your Firebase (or other resource you have connected).</p><h4 id="sql-collections">SQL Collections</h4><p>S<em>QL Collections</em> is where you can create custom collections using SQL queries.</p><p>These are useful for various reasons, for example, to create a custom collection that contains all of the data that you want to use in certain components of your app &#x2013; rather than configuring each component individually, you can create a collection with the data you need and then create components using that collection.</p><p>It&#x2019;s also worth noting that you don&#x2019;t need to know SQL to create custom collections, as Jet Admin has an integrated Text-to-SQL feature.</p><h4 id="storages">Storages</h4><p><em>Storages</em> shows any storages you might have on Firebase.</p><h3 id="data-viewer">Data Viewer</h3><p>The Data Viewer covers all the basic CRUD functions. It allows you not only to see your data, but also to edit it. To make a change, simply click on the cell with the data you want to edit, and enter a new value. You can also add new records or columns in the Data Viewer by clicking on the <em>New Record </em>button. Delete records by clicking on the checkbox next to the record, and then click on the <em>Delete</em> button that appears at the top of the table; doing this also allows you to export data from specific records.</p><p>These editing capabilities combined with the organized, easy to use layout of the Data Editor, can offer a lot of use value to an individual user.</p><p>If you are viewing a Firebase storage, you have the ability to upload new files with just the click of a button.</p><h3 id="header-menu">Header menu</h3><p>By clicking on the button with three dots in the menu bar at the top of the screen, you can access important functions. These include &#xA0;setting sync intervals, manually triggering a sync, or editing the resource.</p><h2 id="creating-your-gui">Creating your GUI</h2><p>First, create a new page by hovering your mouse over the builder icon in the menu on the left and clicking on the New Page button. Then, choose a layout or start with a blank canvas.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-5.png" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1600" height="910" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-5.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-5.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-5.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Add a page</figcaption></figure><p>For my GUI, I&#x2019;m going to start with the <em>Record Update </em>layout. This layout, like the <em>Record Review</em> layout, has three display options: One page, Modals, and Multi-Page.</p><p>I&#x2019;m going to choose the One-page option for this example GUI.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-6.png" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1600" height="910" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-6.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-6.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-6.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Record Update layout</figcaption></figure><p>You need to choose the fields that you want included in the Table and the Update Form, though you can always change this later as well.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-7.png" class="kg-image" alt="How to build a GUI for your Firestore" loading="lazy" width="1600" height="910" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-7.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-7.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-7.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Basic Record Update page</figcaption></figure><p>Without doing anything else, the app will look like this. However, some aesthetic and functional changes worth making will make your GUI even more effective. Regarding aesthetic changes, you might want to reorganize the update form.</p><h2 id="configuring-fields">Configuring Fields</h2><p>Configuring the fields in your update form is a great way to improve your GUI.</p><p>There are two examples that I want to highlight here.</p><p>The first is for the table. One of the columns in my table has photos, but currently, they display a URL. If I click on the field in the component menu, I can change the field type from <em>Text</em> to <em>Image</em>. Now, my table displays the images, making my table much more user-friendly.</p><p>The second example is for the update form. I want to make certain fields in the form read-only, so users can&#x2019;t change that information like Name and Model. I can do this similarly: I click on the field in the component menu, and then I click on read-only.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://www.jetadmin.io/blog/content/media/2023/03/Untitled.mp4" poster="https://img.spacergif.org/v1/1868x1062/0a/spacer.png" width="1868" height="1062" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://www.jetadmin.io/blog/content/images/2023/03/media-thumbnail-ember437.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Configure fields</figcaption></figure><h2 id="adding-tabs">Adding Tabs</h2><p>A great feature that adds usability to a GUI is tabs. Tabs are great because they allow users to access different app parts without switching between pages on the screen.</p><p>To add tabs, use the search bar or scroll down to find the tabs component in the builder menu and drag it into your app. Then, in the component menu, add or edit the tabs you need for your app.</p><p>I&#x2019;ll drag and drop my current components into the first tab, and then I will click on my second tab to add components to it as well.</p><h3 id="example-gui">Example GUI</h3><p>This is my example GUI for a Firebase database that contains data about products, sales, and customers.</p><p>I made my GUI with the idea that multiple users would use it, but if you are looking for an easy way to view and manage your Firebase data, simply using Jet Admin&#x2019;s Data Editor might be enough. Like anything else, it comes down to your needs and desires. If you want to learn more about how to build GUIs for managing databases or other kinds of apps, check out some of our other articles or our YouTube channel.</p><figure class="kg-card kg-video-card kg-card-hascaption"><div class="kg-video-container"><video src="https://www.jetadmin.io/blog/content/media/2023/03/Untitled--1-.mp4" poster="https://img.spacergif.org/v1/1868x1062/0a/spacer.png" width="1868" height="1062" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://www.jetadmin.io/blog/content/images/2023/03/media-thumbnail-ember457.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div><figcaption>Example GUI</figcaption></figure><h2 id="conclusion">Conclusion</h2><p>Firebase is a powerful backend service for building web and mobile applications. With its real-time database, authentication services, cloud storage, and development tools, Firebase has become popular among developers.</p><p>However, managing Firebase can be challenging, especially for those unfamiliar with the command line. That&apos;s where a GUI, or Graphical User Interface, comes in.</p><p>A GUI can make managing Firebase easier, more intuitive, and more efficient.</p><p>With a GUI, users can manage their Firebase backend using a point-and-click interface without remembering complex command-line syntax. They can quickly navigate different Firebase features and manage multiple projects in one interface. Additionally, a GUI can improve collaboration and teamwork by providing a more accessible way to share Firebase project data and settings.</p><p>In this tutorial, we explored how to set up a GUI for Firebase using Jet Admin, a platform for building internal tools.</p><p>Jet Admin&apos;s Data Editor also provides a user-friendly interface for managing Firebase data, including collections and documents. We also discussed the benefits of using Firestore, a NoSQL document-based database provided by Firebase, and how to connect it to Jet Admin.</p><p>A GUI can be a valuable tool for managing Firebase, especially for users without technical knowledge.</p><p>With Jet Admin, you can create a customized GUI that meets their needs and improves their productivity and efficiency.</p><h2 id="related-blog-posts">Related Blog Posts</h2><p><br><strong><a href="https://www.jetadmin.io/blog/firestore-to-postgresql/">Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/export-firestore-to-csv-json/">Export Firestore to CSV, JSON</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/chatgpt-integration-for-easy-text-to-sql-custom-queries/">ChatGPT Integration for easy Text-to-SQL custom queries</a></strong></p>]]></content:encoded></item><item><title><![CDATA[ChatGPT Integration for easy Text-to-SQL custom queries]]></title><description><![CDATA[ChatGPT Text-to-SQL integration makes it easy for anyone to create custom SQL queries!]]></description><link>https://www.jetadmin.io/blog/chatgpt-integration-for-easy-text-to-sql-custom-queries/</link><guid isPermaLink="false">64148ba7db3ca40001d6dfed</guid><dc:creator><![CDATA[Michael O'Shea]]></dc:creator><pubDate>Fri, 17 Mar 2023 17:06:45 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/03/Frame-315.svg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/03/Frame-315.svg" alt="ChatGPT Integration for easy Text-to-SQL custom queries"><p>Jet Admin has recently integrated ChatGPT&apos;s text-to-SQL functionality, making it even easier for users to build and customize their own apps with custom SQL queries. With ChatGPT&apos;s advanced natural language processing algorithms, you can simply enter a natural language query or question, and the platform automatically generates and writes SQL queries that do exactly what you want! Jet Admin already has the integrations you need to work with a PostgreSQL database or MS SQL server, so this is just one more tool that gives you an even better app building experience.</p><h2 id="advantages-of-text-to-sql">Advantages of Text-to-SQL</h2><p>ChatGPT&apos;s text-to-SQL functionality offers several advantages that make it a powerful addition to Jet Admin&apos;s no-code web app builder.</p><h3 id="ease-of-use">Ease of Use:</h3><p>With ChatGPT, you can simply enter a natural language question or query and it automatically generates the corresponding SQL statement, eliminating the need to learn the syntax and structure of SQL.</p><h3 id="speed">Speed</h3><p>ChatGPT can quickly generate SQL statements, allowing users to quickly retrieve the data they need. This is great even for people who already know SQL &#x2013; generate and then correct if needed, and save precious time!</p><h3 id="accuracy">Accuracy</h3><p>ChatGPT&apos;s advanced natural language processing algorithms ensure that the generated SQL statement accurately represents the user&apos;s intent, minimizing errors and reducing the need for manual correction.</p><h3 id="customization">Customization</h3><p>ChatGPT&apos;s text-to-SQL functionality allows you to create custom collections that can then be used in your app.</p><h3 id="scalability">Scalability</h3><p>Working with large datasets? ChatGPT&apos;s text-to-SQL functionality can handle large volumes of data and complex queries, making it an ideal tool for businesses and organizations with a need for data analysis and reporting. Have a lot of collections in your database or need to write complex SQL queries? Don&apos;t worry, have ChatGPT and Jet do the heavy lifting, and then tweak your query if needed!</p><h2 id="using-text-to-sql-in-jet-admin">Using Text-to-SQL in Jet Admin</h2><p>Accessing Jet Admin&apos;s text-to-SQL integration is a breeze. Users simply go to the resource they want to work with and click the &quot;Create with SQL query&quot; button in the left hand menu that displays your collections.</p><p>Additionally, when creating your query, you&apos;ll see a resource explorer on the right that allows you to see your collections and add column names in just a click. The ability to easily add the correct column names is extremely useful, as this is a kind of error that is more common for AI generated queries. Jet Admin solves that problem for you!<br><br>Another advantage is that Jet shows you a table to preview your query so that you can make sure it&apos;s exactly what you want before saving it and using it in tables or other components in your app. This is great if you are writing complex sql queries &#x2013; you can double-check to make sure that they&apos;re correct before moving on. Once you do save it, the newly created collection is immediately available for use in your app.</p><h2 id="benefits-of-using-text-to-sql-in-jet-admin">Benefits of using Text-to-SQL in Jet Admin</h2><p>The integration of ChatGPT&apos;s text-to-SQL functionality into Jet Admin&apos;s no-code web app builder offers several benefits. For instance, it makes it easier and faster to build and customize apps, saving time and improving efficiency. It also enhances the user experience by making it easier to work with data and generate SQL statements, especially for people who have little or no experience using SQL.</p><h2 id="conclusion">Conclusion</h2><p>In conclusion, Jet Admin&apos;s integration with ChatGPT&apos;s text-to-SQL functionality offers a powerful and user-friendly way to create custom collections that allow you to customize your apps even more. Try out Jet Admin&apos;s new text-to-SQL functionality today!</p><h3 id="other-great-features-in-jet-admin">Other great features in Jet Admin:</h3><p><strong><a href="https://www.jetadmin.io/blog/export-firestore-to-csv-json/">Export Firestore to CSV, JSON</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/approval-task-queue/">Build an Approval Task Queue for your app</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/sync-data-from-airtable-to-postgresql-database-in-real-time/">Sync data from Airtable to PostgreSQL database in real-time</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Build an Approval Task Queue for your app]]></title><description><![CDATA[Learn about the uses and benefits of approval task queues and how you can add them to your app easily and without any code!]]></description><link>https://www.jetadmin.io/blog/approval-task-queue/</link><guid isPermaLink="false">640660d5635df000015b06a6</guid><category><![CDATA[Jet Features]]></category><dc:creator><![CDATA[Michael O'Shea]]></dc:creator><pubDate>Tue, 07 Mar 2023 18:32:12 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/03/Frame-438-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/03/Frame-438-1.jpg" alt="Build an Approval Task Queue for your app"><p></p><h2 id="whats-an-approval-task-queue-and-why-do-you-need-it">What&apos;s an approval task queue and why do you need it?</h2><p>Approval task queues are a powerful tool for managing actions that require approval in web apps. These task queues allow you to attach an approval request to an action, so that when a user triggers that action, an approval request is sent to a queue, and only after the request is approved will the action be executed. This approach provides several benefits for applications that handle sensitive data or have a high potential for error.</p><p>In this article, we will discuss the benefits of using approval task queues and show you how you can implement them in your own app with Jet Admin.</p><h3 id="benefits-of-using-approval-task-queues">Benefits of using approval task queues</h3><p><em>Improved control over sensitive actions or data</em><br>Approval task queues provide an added layer of security for actions that involve sensitive data or have the potential to cause damage if executed incorrectly. By requiring approval before executing an action, you can ensure that only authorized personnel are able to access or modify data. This is especially useful for sensitive processes like financial transactions or the modification of important information.</p><p><em>Reduced risk of accidental or unauthorized actions</em><br>Approval task queues also help reduce the risk of accidental or unauthorized actions. By requiring approval before executing an action, you can ensure that only authorized personnel are able to perform certain tasks. This helps prevent mistakes like accidentally deleting important data or making incorrect refunds.</p><p><em>Increased accountability and transparency</em><br>Approval task queues also provide increased accountability and transparency. By tracking approval requests and approvals, you can ensure that actions are being performed by authorized personnel and that all actions are properly documented. This can be particularly important in applications that deal with sensitive information.</p><p>In summary, approval task queues are a powerful tool for managing actions that require approval, providing improved control, security, and transparency for sensitive tasks. By using an approval task queue, you can reduce the risk of accidental or unauthorized actions, improve accountability and transparency, and streamline workflow for approval processes.</p><h3 id="use-cases-and-examples-of-approval-task-queues-in-web-applications">Use cases and examples of approval task queues in web applications<br></h3><p>Approval task queues can be used in a wide range of web applications to manage actions that require approval. Here are some common use cases and examples:</p><p><em>Approving data changes</em><br>In applications that allow users to submit or modify data, approval task queues can be used to manage changes that require review and approval. For example, when a user adds new data or makes changes to existing data, the approval request can be sent to a queue for review and approval. This helps ensure that the data is accurate, appropriate, and meets the application&apos;s standards.</p><p><em>Reviewing financial transactions or refunds</em><br>In applications that handle financial transactions or refunds, approval task queues can be used to manage requests for review and approval. For example, when a user requests a refund or initiates a financial transaction above a certain threshold, the approval request can be sent to a queue for review and approval by a financial administrator. This helps ensure that the transactions are legitimate, authorized, and meet the application&apos;s financial policies.</p><p>By using approval task queues in web apps, you can improve the security, reliability, and accountability of their applications, while also streamlining workflow and reducing the risk of errors or unauthorized actions.</p><h2 id="implementing-approval-task-queues-on-jet-admin">Implementing Approval Task Queues on Jet Admin</h2><p>There are two parts to implementing an approval task queue for your app in Jet Admin:</p><ol><li>Setting up the task queue</li><li>Setting up the Approval action</li></ol><p>I&#x2019;m going to walk you through this process, using the example of an approval task queue for refunds &#x2013; once set up, the refund form will create a request that will need to be approved by, for example, a manager before the refund action will be executed.</p><h3 id="setting-up-the-task-queue">Setting up the task queue</h3><p>Once you already have one task queue, you will be able to hover over the <em>Tasks</em> icon in the menu on the left and from there add another task queue. <br></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/0OjS_9N_CvoF9l1pTUJHoUDa9WD3IrJIb8TXYoxRu3o0l9GU1dZo1qVI7U9Sh_wSqDdwboNQNTQxRunJ3z08SsMcnj6num8cSen-cY5FYwzxp7_iIKvwe1T9wupDfbi_wVEMlXYkR_bmg6I6OoogEAw" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Task queues menu</figcaption></figure><p>However, it&#x2019;s easiest to set up your first task queue when configuring the <em>Approval </em>options for an action that you want to add to a task queue. You can access the <em>Add new</em> button in the dropdown menu that lets you choose which task queue you want the action to be added to, like here:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/jaA9z6u8G9NFy95TvR9KbNxyzdUv4vN0hkgrYik7mUtxmupKsYnIPg-HBE2BcRZR2y4TZQDToPXs87Jn1nrmsB0fJxOPFg1iSa_C8CGJ8nyEoQzTP8Gxvb1aHMGI69FbC8qi5DadrLlMyx6zgrMcn0g" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Choose task queue or add new</figcaption></figure><p>In both cases, a modal will appear, in which you need to give the task queue a name, define statuses, and define inputs.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/730quiePS8QhjuDoIyZTXEQGYNOJHhmxoCBkDQbNUd_rLgPOlSbBSGSCY-YTjGZZ5qsBDKllqK0YEhnNn6fNjgSr-c0UZ8b-CBTL_U36MMuMbhi8VhVacD4bovLNLTqugNDWnG_z1RnDBsWhQDtVedw" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Add new task queue</figcaption></figure><p>My task queue is for approving or rejecting refund requests, so I&#x2019;m going to set up my task queue in the following way:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/bSh5_P7UkgkB8OgrRxWoviAocKTawgQ2PwX0ob6UA9HrEprAfgiE1LpjyeccCgAgfLoq7vyFFOm9zEKJ2vHYkWvPkFAx3FGjX1-EaaSzL6jBNDCwTvZ6rCMDqCgjg9gaJcUYhCbJlKsh7BvaF_IUiOo" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Example task queue for refunds</figcaption></figure><p><strong>Statuses:</strong></p><p>In my demo example, I have only chosen <em>Completed </em>for the <em>Approved</em> status. <em>Completed</em> will execute the action. Because I am either rejecting or approving refunds, I have chosen <em>New</em> for the <em>Rejected </em>status. This way, the action will be cancelled.<br></p><p>If I had a different use case, I might use <em>In Progress</em> as well, but here I only want the action to be executed or be cancelled. <br></p><p><strong>Inputs:</strong></p><p>Inputs are needed so that the action request (here refund request) will appear in the task queue with the necessary information. Without including inputs, the approval task queue will still function, but the person giving approving/rejecting tasks won&#x2019;t be able to see the details of the action request. <br></p><p>In my example, the necessary information is the reason for the refund and the refund amount. Creating these inputs in the queue creates a place where such information will be displayed in the task queue, but I still need to specify what information to submit to these fields when configuring the <em>Approval </em>action (see below).</p><p>Once I have given the queue a name and set up <em>Statuses</em> and <em>Inputs</em>, my queue is ready to be used.</p><h3 id="setting-up-the-approval-action">Setting up the Approval action</h3><p>There are a few steps to creating an <em>Approval </em>action.</p><ol><li>Turn on the <em>Approval </em>action</li><li>Choose the desired task queue (or add a new one)</li><li>Give the task a name</li><li>Choose the user who approval requests will be assigned to</li><li>Configure status options</li><li>Specify inputs</li></ol><p><strong>Turn on the <em>Approval </em>action</strong><br>First, go to the form/button/etc. that you want to connect to a task queue. At the top of the form menu on the right, there are three tabs: <em>General, Display, </em>and <em>Actions.</em> Click on <em>Actions,</em> and at the bottom of the <em>Actions </em>menu you will see the <em>Approval</em> button. Click on this button to turn the <em>Approval</em> function on and to begin configuring it.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/ha4wrqSi09YW-MSIxIiUWH865XFTxslSHfiKqLMDY4FEetOTsAq87FkUwtr5GQFctut9k26MrFKLJfIg73qtrljmoUaD_4T1yKu0bdn6e6Ld9r423MSRJNNeFlU2j01xUdczH5icqOa8PvNjy1B-2B0" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Form menu: <em>Actions</em> button</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/825domnD83gb-NZf17pyp_QrYnaD-0S0-Uw1fYm3QnqhR_kViEIFlWRG2L3nzSZYNSMnsrpmquNmB0pnml7ZCxQY-IExmYR37doIBGQtKTEE_V9EIWv_Zpcqo1xA-_08X03hYehi59NYHtzrQTXVBQo" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption><em>Actions </em>menu: <em>Approval</em> button</figcaption></figure><p><strong>Choose the desired task queue (or add a new one)</strong><br>Now, choose the task queue that you want the action request to be submitted to, or add a new one.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/mo7pofhV-1WX0gIPAEIIEuHxjIkUc8MOtAJ3dwkXievJq8kPwG00S1H8JtlklfY-Y9juUN3TGsoKMCfE8nxwh-dR16mh9192_66B2OdMZUg0eQRty0ubpKvD10yLrlGT2PfFU0TcRwdnT46LXcW4_6A" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Choose or add task queue</figcaption></figure><p><strong>Give the task a name</strong><br>You can give the task any name you want. This is the name that will be displayed in the Approval Task Queue.</p><p>For my example, I am going to use the &#x192;x button to concatenate the words &#x201C;Refund #&#x201D; and the number of the order. Doing something like this is a good choice because it will help keep your task queue more organized and usable. If I give my task a static, unchanging name, then the user who is in charge of the task queue will simply see a list of &#xA0;requests that all have the same name. If I use concatenate (or take a similarly record-specific approach), then the user in charge of the task queue will see exactly what record the action request is related to.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/bJN1PHWbjGmUXi4_7pmpnei41VjkxDgQApo12Dqq3GJVbue_xKFPAIoiSWS-m1lcNg45V2LZ6FH1bMbxAm44LMxBkRyWkTn0nhnYZXlF8xEAv3ffyKbolM-_I9RU_34oimDQqyOrapl0QWkyAdxf0cc" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Add task name</figcaption></figure><p><strong>Choose the user who approval requests will be assigned to</strong><br>Here you need to choose which user will be assigned to. Choose the user that you want to be in charge of managing the task queue in question. You can also have multiple users managing the same task queue. For example, if you want all of your transaction details in one task queue, you still have the ability to assign all the purchase requests to User A and all of the refund requests to User B.</p><p>(I am the only user in my app, but you would be able to choose from any of your users.)</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/7NOuNa9roqcBppEVLxypmYtf4mkrVhvknKyalyzbjKkzoM5lw120EpaSKXJ7ugynR5IfTe8iDjdRAcDMe8NkDNKFXbqRAJbu0M24Ss5Ri39PcPUH443pSo_Xy4hlhTeuLq2tb6ANYzj7XS9evfO42mc" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Choose initial assignee</figcaption></figure><p><strong>Configure status options</strong><br>The next thing to do is to set up the statuses. This affects what will be displayed in the <em>Status</em> column of the task queue, like shown here:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/4a3xn7Yqqo8uvZx5Xhmmxjsmb6rMb5BLWRm4OdFak2S5DlAV9i9e7kzrpwr3C_Z1Gbo7e6vN4nZo7fTGQiXivBDrqoKms1W-QMUW1cLWJ8y2pkjiczKPaBuqVkbQrzMaRBCHWE80HdE0MEGeGXRm8u4" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Status in task queue</figcaption></figure><p>The initial status is what will be displayed when the action is first submitted to the task queue. Here, I will choose <em>New</em> for my refund example, but I might set up my task queue status options differently (e.g. add <em>In progress</em>) and choose something else depending on my use case. </p><p>Similarly, I want to choose my <em>Status after Approve </em>and <em>Status after Reject</em> to <em>Approved </em>and <em>Rejected</em> respectively.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/dVfHHigyNQmejtEvrf2lUSlz2htQ7oW6N7NLnXD2Y3efdUIAoHt3EniJo6B3Rg9CSdTOq06m4PB4VWqVpnysOXru_gAQ3vS-DT9Ec5h7Nqt-FoaYMFLi7sd2oZ10yBhtD65qLxK_Myu6uw0Mrj4hE-8" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Configure status options</figcaption></figure><p><strong>Specify inputs</strong><br>The last thing to do is to specify the inputs for the task. This is important because it defines what details will be included in the task, like shown here:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh6.googleusercontent.com/WvSkHTl0CHny1NcXYmNsq5IrWOMgCdf66QI_YUZ1xcrmxp45jaYYwYLvJYfuf0gkN3Wt2o-OLxt9HsWUUo8YpAWOV5PWFUUYH0zxN45y5BjlqdgGEi9cQ7jkVOplFd9FaMPwz57CLF90ajZ5ezMlVTQ" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Inputs as displayed in task queue</figcaption></figure><p>To set this up so that it submits the information entered in the refund form, you should use the <em>&#x192;x</em> <em>Formula</em> button. Here, I&#x2019;ll click <em>Show more</em> to be able to see more component choices, then choose the appropriate inputs from the <em>Refund Modal</em> section.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/VTExviVwzZzXa-6a57suGQ7Iw4KkBk4bj9Fbf_Y1qlhwIovShzFiJ0J9YdmbS6fxajqGlaSoihqlO6cD7Xo6MkcQ83gp-CuIjoAPijpF33yBJjci4YSWn7Wzg2OR9CkNVr-WTjH_G-Dznn45wG4f0sg" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Add inputs from refund modal</figcaption></figure><p>Perfect, that is the last thing to set up to create a fully-functioning approval task queue! Let&#x2019;s take a look at how the approval task queue works and looks.</p><h3 id="using-the-approval-task-queue">Using the Approval Task Queue</h3><p>You can access your task queues from the app builder screen, by hovering over the <em>Tasks </em>icon and clicking on the queue that you want to look at.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/JqfybAQ4IIgH151hIWvlG6OuvtnthPrlWKRJSch2pfQw0aw78KNK_JPJrXtLe7nQ6EA7kOwjOmsF_zUeYt_2DoBHLtMV2-ZrAHhAuzHerjPhF_CNnK9NOZ4pjtT3SHAOc4Lb_OtN1a1gBt3hVfVEiqw" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Access task queue</figcaption></figure><p>When you are in the task queue, there are two ways to manage tasks. First is from the main task queue screen. Here, you can click on <em>Approve </em>or <em>Reject</em>, and a modal will appear that gives you the option to provide a reason for approving or rejecting.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/G4hQs3Wmx991CFFrbhbO42Qr3UVglEpaDT7DiE0dtb611VaFSaDB2_rpB632LThMqvmlMyqGLEtZcXfrX3poQnHO5VN03QOyDzUzIfu0fntNeBbO0n6sX92vi1pbCq5nepcgpiVYFXjPqupWRwzpicw" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Task queue</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh5.googleusercontent.com/aIehJXz0uiB4ba1_1dTOVDHYuyc_JccXCAo2lfgwIMpn2guSa7WZv8xaQJXmCkSJ6ThtAUQvGZngkKnvfNPZvjcLRJ3T4KKBg44tJoQsMO_Us1kPpNMYJKaymI8VZf50ozip_rBQdjUV7gjKe5j5gOE" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption><em>Reject</em> modal</figcaption></figure><p>You can also select a task to look at it in more detail in a slideout. Doing this also gives you the option of sending a message to the person who submitted the action request (or to another person by using @). In the slideout window, you also have the option of approving or rejecting the request, at which point the same modal will appear.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/wfNWBI4YS3NQKfCQf9KHnsag80WdmNTZM3sGL1HESOUtHBpbcCd73Ytpt3A-S-d5nxK0jBosyQd32u5lNrzPYySGaox2123hX9y10naeO8rxsNATxKtIyyTyA11UFiMfovkHecOOrH8nnagUBIY6cWc" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy"><figcaption>Task details in slideout</figcaption></figure><h3 id="conclusion">Conclusion</h3><p>Approval task queues are a powerful tool for managing actions that require review and approval in web apps. By leveraging the benefits of approval task queues, you can improve the accountability of your app, streamline its &#xA0;workflow, and reduce the risk of errors or unauthorized actions, and overall &#xA0;provide a better experience for your users.</p><h3 id="related-video">Related video</h3><figure class="kg-card kg-image-card kg-card-hascaption"><a href="https://youtu.be/BjmAml_w0Fs"><img src="https://www.jetadmin.io/blog/content/images/2023/03/Frame-438-blog.jpg" class="kg-image" alt="Build an Approval Task Queue for your app" loading="lazy" width="1920" height="1080" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/03/Frame-438-blog.jpg 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/03/Frame-438-blog.jpg 1000w, https://www.jetadmin.io/blog/content/images/size/w1600/2023/03/Frame-438-blog.jpg 1600w, https://www.jetadmin.io/blog/content/images/2023/03/Frame-438-blog.jpg 1920w" sizes="(min-width: 720px) 720px"></a><figcaption>Approval Queues video tutorial</figcaption></figure><h3 id="other-blog-posts">Other blog posts</h3><p><strong><a href="https://www.jetadmin.io/blog/crudappinminutes/">How to Build a CRUD App in Minutes</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/sync-data-from-google-sheets-to-postgresql-database-in-real-time/">Sync data from Google Sheets to PostgreSQL database in real-time</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/export-firestore-to-csv-json/">Export Firestore to CSV, JSON</a></strong></p>]]></content:encoded></item><item><title><![CDATA[How to Build a CRUD App in Minutes]]></title><description><![CDATA[Build a CRUD app in just minutes and without any code! Learn how to easily build a CRUD app on an SQL database in this step-by-step guide.
]]></description><link>https://www.jetadmin.io/blog/crudappinminutes/</link><guid isPermaLink="false">64008983635df000015b05cc</guid><dc:creator><![CDATA[Michael O'Shea]]></dc:creator><pubDate>Thu, 02 Mar 2023 14:43:08 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/03/CRUD-first-header.jpg" medium="image"/><content:encoded><![CDATA[<h2 id="what-is-a-crud-app">What is a CRUD app?</h2><img src="https://www.jetadmin.io/blog/content/images/2023/03/CRUD-first-header.jpg" alt="How to Build a CRUD App in Minutes"><p>If you&apos;re looking to build a web application, chances are you&apos;ll need to provide your users with the ability to create, read, update, and delete data &#x2013; commonly known as CRUD. Whether you&apos;re building a simple blog or a complex enterprise app, CRUD is an essential part of the user experience.</p><p>In this article, we&apos;ll explore how to build a CRUD app using Jet Admin, a powerful app building platform, makes it easy to create custom applications without writing code. But first, let&apos;s define what CRUD means and why the basic CRUD functions are so important for web applications.</p><p> &#xA0;CRUD &#x2013; create, read, update, delete &#x2013; represents the four basic operations that a user can perform on data stored in a database. By providing these operations in your app, you can give users the ability to interact with your data in meaningful ways: without these four basic CRUD operations, your app would be a one-way street &#x2013; users could view data, but they wouldn&apos;t be able to do anything with it.</p><p>Let&#x2019;s take a look at some CRUD application examples:</p><ul><li>Coffee Shop Inventory &#x2013; A coffee shop might use a CRUD app to keep track of what ingredients and supplies they have in stock. To do that, the app needs the four basic CRUD operations to add items, update inventory levels, or get rid of products they no longer offer.</li><li>Online Store &#x2013; An online store has to perform CRUD operations to manage the information needed for customers to purchase items, update orders, or manage their profile.</li><li>Blogs &#x2013; Websites that allow users to create, edit, and delete content such as blog posts, articles, and other types of media require the four basic CRUD functions to manage the content.</li></ul><p>One very common use of a CRUD app is a CRM &#x2013; Customer Relationship Management system. Creating this kind of database management system in Jet Admin is extremely easy.</p><h2 id="jet-admin-app-building-platform">Jet Admin app-building platform</h2><p><a href="https://www.jetadmin.io/">Jet Admin</a> is a no-code, easy-to-use app-building platform that makes it simple to build custom applications without writing any code. With its user-friendly, drag-and-drop interface, Jet Admin makes it easy to build powerful apps that can perform a wide range of tasks.</p><p>One of the things that makes Jet Admin such a great choice for building CRUD apps is its ability to integrate with a variety of data sources. Whether you&apos;re working with a SQL or relational database application yourself, or Google Sheets, Firebase, or something else, Jet Admin&#x2019;s many integrations make it easy to connect to your existing data or source and start building.</p><p>Today, we&#x2019;ll look at how to build a custom CRM using Jet Admin and PostgreSQL.</p><p>There are a few main steps to this process, each of which we will go through in more detail after:</p><ul><li><strong>Creating the App</strong><br>	Log into Jet Admin and create a new project<br>	Connect your data source<br>	Generate an app using a layout (at this point, you have RUD functionality)<br>	Add the possibility to create records (now you have full CRUD functionality)</li><li><strong>Using the App</strong><br>	Creating, Updating, and Deleting records</li><li><strong>Additional Functionality</strong></li></ul><h2 id="creating-the-app">Creating the App</h2><h3 id="log-into-jet-admin-and-create-a-new-project">Log into Jet Admin and create a new project</h3><p>The first thing to do is to log into Jet Admin. Here, you&#x2019;ll see any apps you have already created, as well as templates and a button to create a new app from scratch. In this example, we&#x2019;ll use the <em>Admin Panel</em> template &#x2013; click on this to create a new project.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-8.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="865" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-8.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-8.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-8.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Jet Admin dashboard</figcaption></figure><h3 id="connect-your-data-source">Connect your data source</h3><p>The next thing to do is to connect your data source. The template will prompt you to do this, but later I will show you how to add other data sources from within the app builder.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-9.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1550" height="1096" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-9.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-9.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-9.png 1550w" sizes="(min-width: 720px) 720px"><figcaption>Admin Panel preview</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-10.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1550" height="1096" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-10.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-10.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-10.png 1550w" sizes="(min-width: 720px) 720px"><figcaption>Choose your Data Source</figcaption></figure><p>Choose your data source, and in the modal that pops up, enter the required information and click <em>Add resource</em>.</p><p><strong>Generate an app using a layout</strong><br><strong>(after this, you will have RUD functionality)</strong></p><p>You will now be prompted to choose a layout.</p><ul><li><em>Record Review</em> and <em>Record Update</em>: These two options are similar in appearance but differ in function. The first is for viewing data: you can see a table, and then the details of each individual record can be viewed in a modal (Modal), in another section of the same page (One page), or on a new page (Multi-page). <em>Record Update</em> is the same, but instead of simply being able to view the record details, you can make changes to them.</li><li><em>Dashboard</em>: This layout is made for viewing a table with your record along with charts to show analytics and KPIs.</li><li><em>Form</em>: This layout is similar to the form used for updating records when you use the <em>Record Update</em> layout. In this case, the form would be a new page.</li><li><em>Blank</em>: This choice lets you build your page from scratch!</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-11.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1544" height="1026" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-11.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-11.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-11.png 1544w" sizes="(min-width: 720px) 720px"><figcaption>Choose your layout</figcaption></figure><p>For this CRUD app, I&#x2019;m going to choose the<em> Record Update</em> option and use the Modals layout.</p><p>To finish this process and apply the template, you now need to specify what data should be used and where.</p><p>First, in the <em>Collections</em> section, the app builder will prompt you to choose a collection from your data source. I have used a PostgreSQL database with only one collection here, but if you have more than one collection in your data source, you will need to choose which one you want to use for this page.</p><p>Next, in <em>Choose Table fields, </em>you need to choose what fields will be included in the table where you can read your data (the highlighted section below).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-12.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1544" height="1018" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-12.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-12.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-12.png 1544w" sizes="(min-width: 720px) 720px"><figcaption>Table fields</figcaption></figure><p>Finally, in <em>Choose Form fields</em>, you will choose what fields you want included in relational database consists in the form that you use to update records (highlighted below).</p><p>Having different fields in your table and form can be useful if, for example, your collection contains data that you want your users to be able to change (e.g. order information, number of items in stock) and other data that should not be changed (e.g. client name, name of item).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-13.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1544" height="1018" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-13.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-13.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-13.png 1544w" sizes="(min-width: 720px) 720px"><figcaption>Form fields</figcaption></figure><p>Now simply click <em>Apply Template</em>!</p><p>Great! Even without going any further, you already have the ability to read and update your existing records, and you can also delete or export them by checking the box to the left of the record, and then clicking on the <em>Export </em>or <em>Delete</em> buttons that appear. In other words, you already have RUD functionality.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-14.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="903" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-14.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-14.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-14.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>App builder view</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-15.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="903" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-15.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-15.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-15.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>App view</figcaption></figure><p>All we need to do now is add the possibility to create records!</p><h3 id="add-the-possibility-to-create-recordsafter-this-you%E2%80%99ll-have-a-fully-functioning-crud-app">Add the possibility to create records<br>(after this, you&#x2019;ll have a fully functioning CRUD app!)</h3><p>To add the possibility to create new records, you need to add an action to your table. Select the table, and then in the menu on the right click on the tab that says <em>Actions</em> (shown below).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-16.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="903" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-16.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-16.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-16.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Table menu</figcaption></figure><p>We&#x2019;re going to add a <em>Header Action.</em> This means that the action will be accessible by clicking on the button with three dots in the upper right corner of the table. Add a <em>Header Action</em> by scrolling down to the bottom of the menu on the right and clicking <em>Add Action</em>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-17.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="903" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-17.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-17.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-17.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Table <em>Actions</em> menu</figcaption></figure><p>Now you need to specify what the new action will do. To do this:</p><ol><li>Choose the action (here: <em>Run Operation</em>)</li><li>Choose your resource</li><li>Choose your collection and the action that you want (here: <em>Create Record</em>)</li><li>Specify input options</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/03/image.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy"><figcaption>Add <em>Create Record </em>action: steps 1-3</figcaption></figure><p>There are two parts to setting up your input options.</p><p>The first is specifying the input. Because we are giving app users the ability to create a record, we want them to enter all the necessary information, so we need to choose <em>Ask user</em> for each field that we want included on the <em>Create Record </em>form. If you had different needs, you could also use the &#x192;x Formula button to generate an input using another element of your app.</p><p>The second is specifying whether an input will be required or optional. For example, my collection has different footwear products, so for me it might make sense to make the <em>model</em> field required, but leave the <em>product type </em>field as optional.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/03/image-2.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy"><figcaption>Add <em>Create Record </em>action: specify input options</figcaption></figure><p>And that&#x2019;s it! Our CRUD app is now set up and totally functional!</p><h2 id="using-the-app">Using the App</h2><h3 id="create-records">Create Records:</h3><p>To add a new record, click on the button with three dots in the upper right corner of the table, and click the create record button. Then, fill in the required and any optional fields, and then click the <em>Execute </em>button.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-18.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="905" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-18.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-18.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-18.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Create record button</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-19.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="905" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-19.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-19.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-19.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Create record form</figcaption></figure><h3 id="update-records">Update Records</h3><p>To update a record, simply click on it and a modal will appear where you can change the record&#x2019;s information. Then click <em>Update</em>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-20.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="905" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-20.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-20.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-20.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Update record form</figcaption></figure><h3 id="delete-records">Delete Records</h3><p>To delete a record, click on the box next to it to select it. Then, click on the <em>Delete</em> button at the top of the table. You can export data in the same way.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-21.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="905" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-21.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-21.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-21.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Select records to delete or export them</figcaption></figure><h2 id="additional-functionality">Additional Functionality</h2><h3 id="app-functionality">App Functionality</h3><p>Other app functionality worth noting here is the ability to filter your data or search (1) your data for keywords. This layout has built-in filters at the top (here they are Model, Title, and Description, but they will change based on your data), but you can also filter other fields of your data using the button (2) shown below.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-22.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="1600" height="905" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/08/pasted-image-0-22.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/08/pasted-image-0-22.png 1000w, https://www.jetadmin.io/blog/content/images/2023/08/pasted-image-0-22.png 1600w" sizes="(min-width: 720px) 720px"><figcaption>Filter and search buttons</figcaption></figure><h3 id="app-builder-functionality">App builder Functionality</h3><p>App builder functionality worth mentioning here includes display options and more customization in terms of functionality or layout.For example, the button that allows me to create a record currently says &#x201C;Create Products.&#x201D; If I go back to my <em>Action</em> menu, I can change the text &#x2013; for example to &#x201C;Add Sneakers.&#x201D;</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/03/image-1.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy"><figcaption><em>Action</em> menu and view of app after change</figcaption></figure><p>Regarding functionality, one example might be changing which fields should be included in the table. I can easily do that by selecting my table again and then clicking the button next to the field name in the table menu.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/0Ak-6PEs2mlQPR-TY0Fd_0mKiJ-_EG8JZRhJFrirHuvEsHhoqaH_ieHWaJ4nDMD-Ax_PC7DUshd7BN77A4pWdpC2JFwNREpPlihwhp_JUgBNixe8sfMII5R_axrgtOjOsjVtwR3pHkIPzk_zSbeAe6I" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy"><figcaption>Table field selection</figcaption></figure><p>You might also want to add another page. For example, here I have my product data, but I might also want to include my vendor or customer information. I can add a new page by hovering over the builder symbol in the menu on the left, and then by clicking the <em>Create new page</em> button at the top. Then I would go through much the same process as before, choosing my layout, collection, and all the other options I want.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh3.googleusercontent.com/c-cOqLTZa_R4-ayRRtOiS9yZ92w2ubIfvFdoeKlOb1R5gdTNUaHwAu-u2qF12ot9kxzglVx_cd7KMuBUzrZOlZ5zSucX3AF_TWGMAmj1WSAN3wrmNmo59IOgFG73YO17R_j8FMEb_sER_yOoJzk83Pk" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy"><figcaption>Create new page button</figcaption></figure><p>Another thing you might want to do is connect a second (or third, fourth, ...) data source. To do that, go to the menu on the left again and hover over the data sources symbol. Then you can click on <em>Add Resource</em>. Then you will choose the data source you want to use, enter the necessary details and click the <em>Add resource</em> button. If you&apos;re interested in what data sources you can use, <a href="https://www.jetadmin.io/integrations">take a look at our Integrations page.</a></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/03/image-3.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="2000" height="1130" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/03/image-3.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/03/image-3.png 1000w, https://www.jetadmin.io/blog/content/images/size/w1600/2023/03/image-3.png 1600w, https://www.jetadmin.io/blog/content/images/2023/03/image-3.png 2128w" sizes="(min-width: 720px) 720px"><figcaption>Add a resource</figcaption></figure><p>The data sources menu also lets you click on a data source to view it in Jet Admin&apos;s Data Editor. That Data Editor&apos;s user interface already has all the CRUD operations built in, add you don&apos;t even have to make an app to use them:</p><ul><li>Edit a record: simply click on the cell you want to change and enter a new value</li><li>Add a record: click on the <em>New Record</em> button in the upper right corner, then enter the new data in the form that pops up as a modal</li><li>Delete a record(s): select the record(s) you want to delete by clicking on the box on to the left of the record, then click on the <em>Delete</em> button that appears at the top of the table. You can also export data in this way, just click on <em>Export</em> instead of <em>Delete</em></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jetadmin.io/blog/content/images/2023/03/image-4.png" class="kg-image" alt="How to Build a CRUD App in Minutes" loading="lazy" width="2000" height="1130" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/03/image-4.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/03/image-4.png 1000w, https://www.jetadmin.io/blog/content/images/size/w1600/2023/03/image-4.png 1600w, https://www.jetadmin.io/blog/content/images/2023/03/image-4.png 2128w" sizes="(min-width: 720px) 720px"><figcaption>Data Editor</figcaption></figure><p>If you have more than one collection in your data source, you will be able to switch between collections in the menu on the left.</p><h2 id="conclusion">Conclusion</h2><p>Jet Admin allows you to build CRUD apps quickly and easily &#x2013; you can create a fully functional CRUD app in just minutes. Jet also offers a lot of flexibility if you want to customize your app, both in terms of appearance and functionality. If you&#x2019;re interested in learning more about Jet Admin, go ahead and take a look at <a href="https://www.jetadmin.io/blog/">other articles on our blog</a>, <a href="https://www.youtube.com/@jetadmin5175">our YouTube channel</a>, or <a href="https://docs.jetadmin.io/">our documentation</a>. Also, don&#x2019;t forget that you can <a href="https://app.jetadmin.io/projects/create">get started for free today</a>!</p><h3 id="videos">Videos</h3><!--kg-card-begin: html--><iframe width="560" height="315" src="https://www.youtube.com/embed/Akjveq0udy8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><!--kg-card-begin: html--><iframe width="560" height="315" src="https://www.youtube.com/embed/Es32vPZMO_k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><h3 id="other-blog-posts">Other blog posts</h3><p><strong><a href="https://www.jetadmin.io/blog/how-to-build-business-apps-for-your-xano-back-end-without-code/">How to build business apps for your Xano backend without code</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/how-to-create-notion-charts-for-free-without-coding-in-5-mins/">How to create Notion charts for free without coding in 5 mins</a></strong></p><p><strong><a href="https://www.jetadmin.io/blog/how-ekar-is-using-jet-admin-to-manage-the-largest-car-share-fleet-in-the-middle-east/">How Ekar is Using Jet Admin to Manage the Largest Car Share Fleet in the Middle East</a></strong></p>]]></content:encoded></item><item><title><![CDATA[How to build business apps for your Xano backend without code]]></title><description><![CDATA[This tutorial will cover how to build a Custom CRM from scratch using a Xano backend. The Custom CRM app will be built using Jet Admin, a no-code business app builder]]></description><link>https://www.jetadmin.io/blog/how-to-build-business-apps-for-your-xano-back-end-without-code/</link><guid isPermaLink="false">63b58f5944d3c3000176d07a</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Wed, 04 Jan 2023 14:52:08 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/01/Slice-1-min.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/01/Slice-1-min.jpg" alt="How to build business apps for your Xano backend without code"><p>This tutorial will cover how to build a Custom CRM from scratch using a Xano backend. The Custom CRM app will be built using <u><a href="https://jetadmin.io" rel="noopener noreferrer">Jet Admin</a></u>, a no-code business app builder.</p><p><a href="https://jetadmin.io" rel="noopener noreferrer"><strong>Jet Admin</strong></a> allows you to build custom business apps such as internal tools or client portals <strong>from your data sources: </strong><a href="https://docs.jetadmin.io/user-guide/integrations" rel="noopener noreferrer"><strong>Xano, Supabase PostgreSQL, Firebase, 30+ others</strong></a> incredibly fast and without code.</p><p>Using Jet and Xano you can do the following:</p><ul><li>Build applications: Admin panels, Internal tools, Customer portals, Dashboards, or 360 customer views (Single source of truth for your organization)</li><li><a href="https://docs.jetadmin.io/user-guide/360-data-data-blending" rel="noopener noreferrer">Sync and Blend Data</a> your Xano data with <a href="https://www.jetadmin.io/integrations" rel="noopener noreferrer">30+ data sources</a></li><li>Empower your Xano data with Formulas and SQL queries</li><li>Build <a href="https://www.jetadmin.io/blog/user-guide/workflow" rel="noopener noreferrer">Workflow or Automation</a> on top of your database</li></ul><!--kg-card-begin: html--><iframe width="720" height="405" src="https://www.youtube.com/embed/Es32vPZMO_k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><h2 id="intro">Intro</h2><p>This tutorial is for anyone who already has a Xano backend or is building from scratch. I will show you what API endpoints need to be returned from Xano, but it&#x2019;ll be up to you to construct those endpoints for your data in Xano.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/c1f3d8d4-7d96-4aa6-8765-767c19017a1f.png" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>What this tutorial will cover:</p><ul><li>Set up your Xano backend</li><li>Connect and Sync your Xano backend to Jet Admin</li><li>Build an App on Jet Admin: Filter Opportunities by Status, Owner, Estimated Value; Update the Opportunity Details; Visualize reports &#x2013; Opportunities by status, Value Deals by Owner</li><li>Build Automation that will send notifications on Slack when the opportunity Status is changed</li></ul><h2 id="step-1-set-up-your-backend-on-xano">Step 1: Set up your Backend on Xano</h2><h3 id="create-a-database-for-your-app">Create a Database for your app</h3><p>Create a new Account on <a href="https://app.xano.com/admin/login" rel="noopener noreferrer">Xano</a> and create a new Database.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/01/xano1-1.gif" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy" width="1282" height="748"></figure><ol><li>Go to the <strong>Database tab</strong> on the left menu and click the <strong>Add Table</strong> button. You can choose <strong>Add</strong> to create a new table from scratch or <strong>Import</strong> to import existing data using a CSV or Airtable.</li><li>Create a <strong>Table Name</strong>, add a <strong>Description</strong>, and <strong>Add basic CRUD endpoints</strong> to allow Xano to generate API endpoints for CRUD operations.</li><li>Click <strong>Add Table</strong></li></ol><p>This tutorial will <a href="https://api.jetadmin.io/media/static_files/projects/notion/Notion%20Deals.csv?_gl=1*1y9khj8*_ga*MTk3MTM5NDIyOC4xNjA4NTU0NzE5*_ga_NBGY6X2BWQ*MTY3MzE2MjQxNy4yNjI1LjEuMTY3MzE2NTU0My4wLjAuMA..">use <strong>Deals </strong>data that you can download</a> and import to Xano.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/1b629bc9-cd98-4519-b887-0fab62936fa6.png" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><h3 id="create-apis-on-top-of-your-database">Create APIs on top of your database</h3><p>Once you have created a Database and filled it with your data, you should create APIs for your Database. There are two options to create Endpoints in Xano: use <strong>Default CRUD operations endpoints</strong> or create <strong>custom API endpoints</strong>.</p><ol><li><strong>Use Default CRUD operations endpoints</strong>. Go to the <strong>API tab</strong> on the left menu and choose <strong>Default</strong> API Group and Copy <strong>API Group Base URL to your clipboard, and let&#x2019;s head over to Jet Admin!</strong></li></ol><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/cbc95fa8-9555-4733-8477-4eaae10e07ce.jpeg" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p><strong>Create custom APIs endpoints.</strong></p><p>First, go to <strong>Add API Group </strong>and fill in Name, and Description. Next, click <strong>Add API endpoint</strong>.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/01/xano5.gif" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy" width="1282" height="732"></figure><p>It is important that you fill the <strong>Description</strong> field of the API endpoint you want to use in Jet Admin with the following content:</p><ul><li><em>For GET record list API endpoint: </em>Query all <strong>TABLE</strong> records</li><li><em>For GET SINGLE record API endpoint: </em>Get <strong>TABLE</strong> record</li><li><em>For POST (create) record API endpoint: </em>Add <strong>TABLE</strong> record</li><li><em>For EDIT record API endpoint: </em>Edit <strong>TABLE</strong> record </li><li><em>For DELETE record API endpoint: </em>Delete <strong>TABLE</strong> record</li></ul><p>where <strong>TABLE</strong> is your Xano table name.</p><p>Only endpoints with<strong> the specified Descriptions will be imported</strong> to Jet Admin. For example, if APIs endpoint &#x2013; Get record list of Deals, in the Description field: <em> </em><strong>Query all deals records</strong>.</p><p><strong>Upload Files to Xano</strong></p><blockquote>&#x2757;&#xFE0F;<strong>Xano File</strong> attachments are only available in <strong>paid Xano plans</strong>&#x2757;&#xFE0F;</blockquote><p>Uploading files to <strong>Xano</strong> file fields can only be done through the <strong>Xano Files</strong> storage. In order to use file fields in your <strong>Xano</strong> database, you must link the <strong>Xano Files</strong> storage to Jet Admin. <strong>Xano</strong> file fields will automatically use <strong>Xano Files</strong> storage as their default option. If you connect to Jet Admin with the <strong>Xano</strong> upload attachment endpoint, it will seamlessly integrate with <strong>Xano Files</strong> storage.</p><blockquote>In order to integrate, Jet will search for the <strong>/upload/attachment</strong> endpoint. If you already have it, you can proceed to the next step without any further action.</blockquote><p>If you don&apos;t have <strong>/upload/attachment</strong> endpoint then follow these steps:</p><ul><li>Go to your <strong>API Group</strong></li><li>Click <strong>Add API endpoint</strong></li><li>Create an endpoint by clicking <strong>Upload Content</strong> -&gt; <strong>Upload an attachment</strong> -&gt; <strong>Save</strong></li></ul><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.jetadmin.io/blog/content/images/2023/02/upload.gif" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy" width="1299" height="691"></figure><p>Once you finish the steps you will have the following <strong>/upload/attachment</strong> endpoint which will automatically integrate when you connect Xano to <strong>Jet Admin</strong></p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/02/image-1.png" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy" width="2000" height="354" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/02/image-1.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/02/image-1.png 1000w, https://www.jetadmin.io/blog/content/images/size/w1600/2023/02/image-1.png 1600w, https://www.jetadmin.io/blog/content/images/size/w2400/2023/02/image-1.png 2400w" sizes="(min-width: 720px) 720px"></figure><p></p><p><strong>Step 2: Connect Xano to Jet Admin</strong></p><p><a href="https://app.jetadmin.io/" rel="noopener noreferrer">Create a new Project in Jet Admin</a> if you don&apos;t have one. Choose Xano as the Data Source that you would like to connect.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/01/xano2.gif" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy" width="1282" height="778"></figure><p>Copy <strong>API Group Base URL</strong> from Xano to Jet Admin</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/3e821f48-dc0f-44eb-b1e1-9e870c3a9a67.jpeg" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>If you would like to protect <strong>API endpoints</strong> from unauthorized access, you can learn how to set it up in the video and get an <strong>Access token</strong>:</p><!--kg-card-begin: html--><iframe width="720" height="315" src="https://www.youtube.com/embed/TiUl1Z8WDXo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><!--kg-card-end: html--><p><a href="https://www.youtube.com/watch?v=TiUl1Z8WDXo" rel="noopener noreferrer">https://www.youtube.com/watch?v=TiUl1Z8WDXo</a></p><p>Copy <strong>Authorization token</strong> to <strong>Authorization header</strong> in Jet Admin.</p><p>Next, choose Data Sync, which allows you to do SQL queries, and blend and join data from 30+ data sources.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/056b7503-9668-442f-9583-855187f6d9c8.png" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><h2 id="step-3-build-an-app-on-jet-admin">Step 3: Build an App on Jet Admin</h2><p>Let&apos;s build a Custom CRM using Jet Admin that allows users to <strong>track</strong> Opportunities by Value Deal Owner and by Deal Status, <strong>update</strong> Deals, and <strong>send Slack notifications</strong> when Deal data is changed.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FJgBGDdpmGcvwgpTtaMDH%2FOpportunityDashboard.png?alt=media&amp;token=a044846f-1344-4674-9f5e-f72187366ff2" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><h3 id="31-configure-data-types">3.1 Configure Data Types</h3><p>Go to your Data (in the data section) that was successfully imported from Xano in previous steps and update <strong>Field Types </strong>to make your app look nice and polished. To do this, click on the name of the column then on <strong>Edit field</strong>; this will open a panel on the right where you can choose the correct data type from a dropdown menu.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FOyf6717cZm02W4PtLLoG%2Fimage.png?alt=media&amp;token=e73c98d4-8d35-42ef-85ea-6dd955f5b685" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><h3 id="32-build-custom-crm-ui">3.2 Build Custom CRM UI</h3><p>Create a new Page, drag and drop components to the canvas, and connect these components with your Data.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FghfXYb2xl5YfgVcWGAnM%2Fzsrxhdcsr.gif?alt=media&amp;token=bce0b47e-e89f-4111-b74b-d469fccdb5be" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Drag-and-drop UI components to the Canvas, then fetch data from relevant collections in each UI component using the panel on the right.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FONkxqsToD1XHqWkwC1bR%2Fxfkcj.gif?alt=media&amp;token=49f49c24-d1f3-49fd-995f-269eae9b081c" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FpHA0Yn7XwfIb2RZCqq4I%2Fdxhtcfty.JPG?alt=media&amp;token=fa4ab304-e71f-45c9-8bef-7e5f41646351" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Note that each type of UI component might require a different configuration. For reference, see the <a href="https://www.jetadmin.io/blog/user-guide/design-and-structure/components" rel="noopener noreferrer">components section</a>.</p><h3 id="33-enable-filtering">3.3 Enable filtering</h3><p>Select the Filter component and click &quot;Bind,&quot; then choose Kanban from the list &#x2013; this will link the filter component and the kanban component so that any filter added will be applied to the kanban.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2F0NnbrYU6xEwmFXHJSIMq%2Fdtxjfgy.JPG?alt=media&amp;token=9a02ba67-48e1-4593-958c-6d5ffabd9d20" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>After this, add as many filters as you need - they all will have logical AND between them.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2F5w59rHD4Z7OXYyRL1tSG%2FScreenshot%20(203).png?alt=media&amp;token=a81d3da5-b5c2-499e-8d04-45119825f2ad" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><h3 id="34-add-record-updating">3.4 Add record updating</h3><p>To be able to change various fields from our Opportunities collection (that is fetched through the Kanban UI component) we&apos;ve already added a Form component.</p><p>Now we need to make this form update the record that we select in the Kanban on the left. To do this, we&apos;ll need to:</p><p><strong>a)</strong> Generate the form and</p><p><strong>b)</strong> Bind our form to the Kanban</p><p>Connect the form to our Opportunities collection and set what the Form will do (Update a record):</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FwCjAx9FmtQ3adwMbtljQ%2Fdxtjcvy.gif?alt=media&amp;token=586a4820-e84a-420f-9743-51fc527073b2" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Next, bind the Form to the kanban component and, finally, generate it.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2F7ZfqDPkzomAwkKIMfXF1%2Fzxjncvgybu.gif?alt=media&amp;token=e9f0a3b8-058f-461a-930c-49d36594cc76" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Now we&apos;re halfway through! The only thing left is to make our app send notifications when we edit a record from our Opportunities collection.</p><h2 id="step-4-build-an-automation-workflow-on-jet-admin">Step 4: Build an Automation Workflow on Jet Admin</h2><p>To configure notifications in Slack, we&apos;ll need to create an <strong>Automation</strong> with data change in Opportunities collection as a trigger. You can find Automations in <strong>the left panel</strong>:</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FDpLAV0Ag2zQzJmZvNYJK%2FScreenshot%20(205).png?alt=media&amp;token=fb54490f-86f7-4c36-8993-38e3b09f7c38" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Then create <strong>a trigger and an action,</strong> as shown in this GIF:</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FGnmbUuKltFmff4voVV8E%2Fgkvu78.gif?alt=media&amp;token=957280be-bfb6-46f8-8fce-a8a9ccc1ec65" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Then within the <em>f</em> Formula modal we can add <strong>dynamic values</strong> to our message and <strong>customize</strong> it using powerful Excel-like formulas</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FXKHD8bR97yGAz8wKXdRr%2FScreenshot%20(204).png?alt=media&amp;token=8e5a09fb-4ab9-4be0-8236-26c1c35884b1" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Here&apos;s an example of a message that informs about the Status change in the Opportunities collection.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FrNWq9D61YdLGqhUHYFg4%2Ffxjchf.JPG?alt=media&amp;token=91ebcc42-e5a7-4eeb-b9cd-c9b31d0bf48e" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><h3 id="share-your-app-with-teammates">Share your app with teammates</h3><p>Finally, go to Share -&gt; Invite with Link (or use other invite options) to invite end-users and your team.</p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FZdyCKCFnrqf98Nadjj5i%2Fszrhxdcgt5.gif?alt=media&amp;token=fe25a675-4d2a-444f-b06a-4bc8a4f3abf1" class="kg-image" alt="How to build business apps for your Xano backend without code" loading="lazy"></figure><p>Other Guides:<br>&#x2013; <a href="https://www.jetadmin.io/blog/sync-data-from-google-sheets-to-postgresql-database-in-real-time/">Sync Data from Google Sheets to a PostgreSQL database in real-time </a><br>&#x2013;&#xA0;<a href="https://www.jetadmin.io/blog/sync-data-from-airtable-to-postgresql-database-in-real-time/">Sync Data from Airtable to a PostgreSQL database in real-time</a> </p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/Es32vPZMO_k?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="How to Build a Custom CRM using Xano and Jet Admin"></iframe></figure>]]></content:encoded></item><item><title><![CDATA[Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time]]></title><description><![CDATA[This article will compare Firestore vs PostgreSQL and how you can quickly Sync your data from Firestore to PostgreSQL to get SQL-relational database benefits]]></description><link>https://www.jetadmin.io/blog/firestore-to-postgresql/</link><guid isPermaLink="false">63b3eca13b21b10001ecff98</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Tue, 03 Jan 2023 10:59:42 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/01/fire1-min.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/01/fire1-min.jpg" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time"><p>Firebase Firestore is an excellent NoSQL document, real-time database built for automatic scaling &amp; high performance. But if you would like to build reports or things like that on top of your Firebase Firestore, you&apos;ll need a lot of code!</p><p>This article will compare Firestore vs PostgreSQL and how you can quickly Sync your data from Firestore to PostgreSQL to get SQL-relational database benefits.</p><h2 id="postgresql-vs-firestore-or-firebase-vs-sql-databases">Postgresql vs Firestore or Firebase vs SQL databases</h2><p>Let&apos;s consider the pros and cons of Firestore vs PostgreSQL:</p><p><strong>SQL vs NoSQL</strong></p><p>&#x2013; Firestore.<strong> </strong>NoSQL (Non-Relational Database). App development platform from Google, <a href="https://cloud.google.com/firestore/pricing" rel="noopener noreferrer">pay as you go</a> (free quota per day &#x2013; 50k reads, additional per 100,000 documents &#x2013; $0.06)</p><p>&#x2013; PostgreSQL. Free and Open-Source SQL Database Relational database.</p><p><strong>Hosting</strong></p><p>&#x2013; Firestore. Yes, only available on GCP (Google Cloud Platform), owned by Google.</p><p>&#x2013; PostgreSQL. Host everywhere (AWS, Azure, or host on your own). Several clouds provide support-managed versions of it.</p><p><strong>Data structure &amp; Data Types</strong></p><p>&#x2013; Firestore. Based on the concept of collections and documents. There&#x2019;s no schema for the database, no tables, and no columns, it&#x2019;s just a combination of key/value pairs. No need for a detailed database model.</p><p>&#x2013; PostgreSQL. Based on the concept of tables and relations. A detailed database model is needed before creating it.</p><p><strong>Real-time</strong></p><p>&#x2013; &#xA0;Firestore. Stores and syncs data in real-time (a real-time document store).</p><p>&#x2013; PostgreSQL. No real-time, PostgreSQL is based on the domain-specific language SQL.</p><p><strong>Custom queries &amp; reports</strong></p><p>&#x2013; Firestore. Lacks standard query language,</p><p>&#x2013; PostgreSQL. SQL queries allow you to create any reports.</p><p><strong>Scalability</strong></p><p>&#x2013; Firestore. Firebase scales horizontally.</p><p>&#x2013; PostgreSQL. Scales vertically. PostgreSQL databases are designed with scalability at their core.</p><h2 id="how-to-sync-firestore-to-postgresql-database">How to Sync Firestore to PostgreSQL database</h2><p>Jet allows you to sync data from a Firebase Firestore database to a Jet PostgreSQL database. The process copies the entire contents of a single Firestore collection to a single PostgreSQL table. Any changes you make in Firestore update the Jet PostgreSQL database immediately.</p><p>Firstly, create a new project and <a href="https://docs.jetadmin.io/user-guide/integrations/firebase-firestore" rel="noopener noreferrer"><u>connect your Firestore database.</u></a> Allow Jet to Sync Firebase data to Jet Tables by <strong>choosing the operation mode.</strong></p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FiKRk9d0knRAHhFwQeno6%2Fxgncf.JPG?alt=media&amp;token=94305296-0277-4878-87f6-4f165e9593d4" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/01/image-6.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy" width="2000" height="701" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/01/image-6.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/01/image-6.png 1000w, https://www.jetadmin.io/blog/content/images/size/w1600/2023/01/image-6.png 1600w, https://www.jetadmin.io/blog/content/images/size/w2400/2023/01/image-6.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Next, you can set up a visualization for the Collection: parse your JSON, specify relations, change the field type, update the data, etc. Click on the More icon that is just to the right of the Firestore icon to change the Sync configuration.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/01/image-5.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy" width="892" height="638" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/01/image-5.png 600w, https://www.jetadmin.io/blog/content/images/2023/01/image-5.png 892w" sizes="(min-width: 720px) 720px"></figure><h2 id="query-and-blend-your-firestore-data-using-sql">Query and Blend your Firestore data using<strong> SQL</strong></h2><p>Create your first SQL query on the Data Editor page by clicking Create with SQL query. On the right side panel, you can find prompts &#x2013; they list the collections in your Firestore. Press <strong>Send Request</strong> to run your SQL query.</p><figure class="kg-card kg-image-card"><img src="https://www.jetadmin.io/blog/content/images/2023/01/image-7.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy" width="2000" height="1515" srcset="https://www.jetadmin.io/blog/content/images/size/w600/2023/01/image-7.png 600w, https://www.jetadmin.io/blog/content/images/size/w1000/2023/01/image-7.png 1000w, https://www.jetadmin.io/blog/content/images/size/w1600/2023/01/image-7.png 1600w, https://www.jetadmin.io/blog/content/images/size/w2400/2023/01/image-7.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Jet allows you to join data from different data sources. For example, you can <strong>join data</strong> from Firestore and Hubspot. There are two options:</p><ol><li>Relations and Roll-up/Look-ups fields without code</li><li>SQL Queries</li></ol><p>To use this feature, first connect another data source that you want to join with Firestore data (for example, Stripe, Hubspot, Intercom).</p><h3 id="using-relations-and-roll-uplook-ups-fields-to-blend-data">Using Relations and Roll-up/Look-ups fields to Blend Data</h3><p>Go to your <a href="https://www.youtube.com/watch?v=HBrF6wAMghA&amp;list=PLSkzi9eq0vBnUGMnwXrRRVo9TXUjZ7uSj" rel="noopener noreferrer">Collection that has the Stripe Collection ID and specify Relation</a>. For example, the Firestore collection has Stripe ID field -&gt; Customer ID Stripe: Click on the Column and change the type to Link to Record. Specify Data Source and Collection (Stripe -&gt; Customers).</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/31648753-251f-4906-90d8-f7af65f800b5.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy"></figure><p>Add a new Custom Column and choose Lookups/Rollup based on what operations you would like to do. <a href="https://www.youtube.com/watch?v=HBrF6wAMghA&amp;list=PLSkzi9eq0vBnUGMnwXrRRVo9TXUjZ7uSj" rel="noopener noreferrer">Learn more about Rollup/Lookups.</a></p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/91bc2b19-dcac-4c12-a444-1005ffa2e04b.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy"></figure><h3 id="sql-queries-to-blend-data">SQL Queries to Blend Data</h3><p>Click <strong>Create with SQL query </strong>in Data page. On the right side panel you can see the list of Data Sources that you can blend, join.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/91154278-7056-4b62-8e7d-5c96c42c69b6.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="extend-firestore-api-using-jet-api">Extend Firestore API using Jet API</h2><p>The flexible Jet API enables you to use Jet as a backend, extend your apps, and benefit from inter-operability. Jet generates <strong>List, Retrieve, Create, Update, and Delete endpoints</strong> for each synced Firestore.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/4de048b6-b804-41c9-a356-761dc9f9df4a.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="build-an-app-on-top-of-your-data">Build an App on top of your data</h2><p>Jet allows you to build Internal tools, Customer portals, Dashboards, Automations&amp;Workflows on top of your Data.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/3b3c8755-4246-4b80-bf34-bd761ed31348.png" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy"></figure><p><a href="https://docs.jetadmin.io/user-guide/integrations/airtable" rel="noopener noreferrer">Learn how to build an app on top of Firestore database</a></p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FQVj1BUY5QnVPquBVDqyn%2Fzsrhxd.png?alt=media&amp;token=3eb9aed1-1b28-4a77-a040-d6e36e44d4ff" class="kg-image" alt="Empower your Firebase with SQL features: Sync data from Firebase or Firestore to PostgreSQL database in real-time" loading="lazy"></figure><p><a href="https://docs.jetadmin.io/user-guide/workflow" rel="noopener noreferrer">Learn how to build Automations &amp; Workflows on top of Firestore data</a></p>]]></content:encoded></item><item><title><![CDATA[Sync data from Google Sheets to PostgreSQL database in real-time]]></title><description><![CDATA[This article will compare Google Sheets and PostgreSQL and how you can quickly sync or migrate from Google Sheets to PostgreSQL without code in 10 mins]]></description><link>https://www.jetadmin.io/blog/sync-data-from-google-sheets-to-postgresql-database-in-real-time/</link><guid isPermaLink="false">63b316aa3b21b10001ecff82</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Mon, 02 Jan 2023 18:30:49 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/01/google-min.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/01/google-min.jpg" alt="Sync data from Google Sheets to PostgreSQL database in real-time"><p>Most of the internal tools start with Google Sheets. Google sheets help you quickly create your internal database and share &amp; collaborate with your teammates. But when your company and the team are scalable, supporting all your data in Google sheets becomes complicated therefore, a lot of companies <strong>migrate from Google Sheets to PostgreSQL database</strong>.</p><p>This article will compare Google Sheets and PostgreSQL and how you can quickly sync or migrate from Google Sheets to PostgreSQL without code in 10 mins.</p><h2 id="google-sheets-vs-postgresql-database">Google Sheets vs. Postgresql database</h2><p>Let&apos;s consider the pros and cons of Google sheets vs. PostgreSQL:</p><p><strong>1. O<strong>pen-Source</strong></strong></p><p>&#x2013; Google Sheets.<strong> </strong>App development platform from Google. Managed by Google Services. </p><p>&#x2013; PostgreSQL. Open-Source SQL Database. Managed hosting available on Google, AWS, Azure, etc.</p><p><strong>1. Data Types &amp; Data Structure</strong></p><p>&#x2013; Google Sheets.<strong> </strong>There is no specific data structure and data types (text, number, image). Google sheets users can add text and numbers in the same column.</p><p>&#x2013; PostgreSQL. You can specify your Table Data Structure Data Types for each Column.</p><p><strong>2. Relations between Tables</strong></p><p>&#x2013; Google Sheets. No relations between sheets.</p><p>&#x2013; PostgreSQL. PostgreSQL is a relational database that allows you to specify relations between Tables.</p><p><strong>3. Missing data and nulls values</strong></p><p>&#x2013; Google Sheets. Cells could be null or empty.</p><p>&#x2013; PostgreSQL. Allow specifying which Column can&apos;t be null or empty.</p><p><strong>4. Unique and Duplicate records</strong></p><p>&#x2013; Google Sheets. Cells could contain duplicate data.</p><p>&#x2013; PostgreSQL. Postgresql database allows you to specify unique fields or primary key to avoid duplicate records.</p><p><strong>5. Custom queries &amp; reports</strong></p><p>&#x2013; Google Sheets. Pivot Table allows you to calculate metrics in Google Sheets.</p><p>&#x2013; PostgreSQL. SQL queries allow you to create any reports.</p><p><strong>6. Scalability</strong></p><p>&#x2013; Google Sheets. Not scalable. The more data you store, the more latency you have with different operations: loading data, searching, and filtering.</p><p>&#x2013; PostgreSQL. Scales vertically. Postgresql database designed with scalability in-core.</p><p><strong>7. Build Apps</strong></p><p>&#x2013; Google Sheets. Google sheets have limited API capability and <a href="https://developers.google.com/sheets/api/limits" rel="noopener noreferrer">Google Sheets API rate limits.</a> It&apos;s not suitable to build apps.</p><p>&#x2013; PostgreSQL. No limitations to building any APIs. <a href="https://docs.jetadmin.io/user-guide/jet-admin-api" rel="noopener noreferrer">Using Jet API</a>, you can generate API on top of the Postgresql database.</p><h2 id="how-to-sync-google-sheets-to-postgresql-database">How to Sync Google Sheets to PostgreSQL database</h2><p>This chapter will use Jet Tables to store Google Sheets data. Jet Tables is a free PostgreSQL database hosted in the cloud.</p><p>Firstly, create a new project and <a href="https://docs.jetadmin.io/user-guide/integrations/google-sheets" rel="noopener noreferrer"><u>connect Google Sheets database</u></a>. Allow Jet to Sync Google Sheets data to Jet Tables by <strong>choosing operation mode.</strong></p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FfXjRsrLcETVOI4vEHU2D%2Fdtnxb-min.png?alt=media&amp;token=602aa306-3e71-4ac3-b0cf-52247c91aa11" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/ae23ef22-9e4f-4780-ae0d-f16b6e65affc.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><p>Next, you can set up a visualization for the Collection: change the field type and name, update the data, etc. Click to More icon right after the Google Sheets icon to change the Sync configuration.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/792d41d1-8eea-4ed3-97fd-3e3079602b71.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="query-and-blend-your-google-sheets-data-using-sql">Query and Blend your Google Sheets data using<strong> SQL</strong></h2><p>Create your first SQL query by clicking <strong>Create with SQL query </strong>on the Data page. On the right side panel, you can find prompts &#x2013; the list of Google Spreadsheet. Press <strong>Send Request</strong> to run your SQL query.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/620f8c38-a402-4a61-a48a-ad17179c68a0.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><p>Jet allows you to join data from different data sources. For example, you can <strong>join data</strong> from Google Sheets and Hubspot. There are two options:</p><ol><li>Relations and Roll-up/Look-ups fields without code</li><li>SQL Queries</li></ol><p>Connect one more data source you want to join with Google Sheets data (for example, Stripe, Hubspot, Intercom).</p><h3 id="using-relations-and-roll-uplook-ups-fields-to-blend-data">Using Relations and Roll-up/Look-ups fields to Blend Data</h3><p>Go to your <a href="https://www.youtube.com/watch?v=HBrF6wAMghA&amp;list=PLSkzi9eq0vBnUGMnwXrRRVo9TXUjZ7uSj" rel="noopener noreferrer">Collection that has the Stripe Collection ID and specify Relation</a>. For example, my Google Sheets collection has Stripe ID field -&gt; Customer ID Stripe: Click to Column and change Type to Link to Record. Specify Data Source and Collection (Stripe -&gt; Customers).</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/31648753-251f-4906-90d8-f7af65f800b5.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><p>Add a new Custom Column and choose Lookups/Rolloup based on what operations you would like to do. <a href="https://www.youtube.com/watch?v=HBrF6wAMghA&amp;list=PLSkzi9eq0vBnUGMnwXrRRVo9TXUjZ7uSj" rel="noopener noreferrer">Learn more about Rolloup/Lookups.</a></p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/91bc2b19-dcac-4c12-a444-1005ffa2e04b.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><h3 id="sql-queries-to-blend-data">SQL Queries to Blend Data</h3><p>Click <strong>Create with SQL query </strong>in Data page. On the right side panel you can see the list of Data Sources that you can blend, join.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/91154278-7056-4b62-8e7d-5c96c42c69b6.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="extend-google-sheets-api-using-jet-api">Extend Google Sheets API using Jet API</h2><p>The flexible Jet API enables you to use Jet as a backend, extend your apps, and benefit from inter-operability. Jet generates <strong>List, Retrieve, Create, Update, and Delete endpoints</strong> for each synced Google Sheets.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/4de048b6-b804-41c9-a356-761dc9f9df4a.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="build-an-app-on-top-of-your-data">Build an App on top of your data</h2><p>Jet allows you to build Internal tools, Customer portals, Dashboards, Automations&amp;Workflows on top of your Data.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/3b3c8755-4246-4b80-bf34-bd761ed31348.png" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><p><a href="https://docs.jetadmin.io/user-guide/integrations/airtable" rel="noopener noreferrer">Learn how to build an app on top of Google Sheets database</a></p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FQVj1BUY5QnVPquBVDqyn%2Fzsrhxd.png?alt=media&amp;token=3eb9aed1-1b28-4a77-a040-d6e36e44d4ff" class="kg-image" alt="Sync data from Google Sheets to PostgreSQL database in real-time" loading="lazy"></figure><p><a href="https://docs.jetadmin.io/user-guide/workflow" rel="noopener noreferrer">Learn how to build Automations &amp; Workflows on top of Google Sheets data</a></p><p><a href="https://www.jetadmin.io/blog/sync-data-from-airtable-to-postgresql-database-in-real-time/">Use Airtable? See our guide for syncing Airtable to a PostgreSQL database.</a></p>]]></content:encoded></item><item><title><![CDATA[Sync data from Airtable to PostgreSQL database in real-time]]></title><description><![CDATA[In this article, we will show how you can sync your Airtable data to PostgreSQL in 3 easy steps and build the app on top of Airtable.]]></description><link>https://www.jetadmin.io/blog/sync-data-from-airtable-to-postgresql-database-in-real-time/</link><guid isPermaLink="false">63b30bfe3b21b10001ecff4c</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Mon, 02 Jan 2023 17:11:19 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/01/sync1-min.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/01/sync1-min.jpg" alt="Sync data from Airtable to PostgreSQL database in real-time"><p>Airtable is a great database to spin up your project or workflow from scratch, but very limited, with <strong>50k records per table</strong> when we want to scale your database or query your Airtable base using all the <strong>power of SQL</strong>. And when we want to extend a base by <strong>building Internal tools or Customer apps, 360 Customer apps</strong> (blend 30+ data sources: Hubspot, Stripe, Intercom, etc.) on top of it, we run into tedious limitations with <strong>Airtable API </strong>(pagination, sort, filter By, slow response times).</p><p>With Jet Admin, you can unlock the flexibility of a SQL database. Connect and Sync your data from Airtable to PostgreSQL, blend data with 30+ data sources: Hubspot, Intercom, and Stripe, and build your Internal tools or Customer portals on top of your Airtable data.</p><p>In this article, we will show how you can sync your Airtable data to PostgreSQL in 3 easy steps and build the app on top of Airtable.</p><h2 id="how-to-sync-airtable-data-to-postgresql-database">How to Sync Airtable data to PostgreSQL database</h2><p>In this chapter, we will use Jet Tables to store the Airtable base. Jet Tables is a free PostgreSQL database hosted in the cloud.</p><p>Firstly, create a new project and <a href="https://docs.jetadmin.io/user-guide/integrations/airtable" rel="noopener noreferrer"><u>connect the Airtable database</u></a> using the Airtable account. Allow Jet to Sync Airtable data to Jet Tables by <strong>choosing operation mode.</strong></p><figure class="kg-card kg-image-card"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2F4fnMpNeuHFN02dswTz5X%2Filhj.JPG?alt=media&amp;token=c2122ca0-2b81-407c-8b43-437f62c5422f" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/ae23ef22-9e4f-4780-ae0d-f16b6e65affc.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><p>Next, you can set up visualization for the Collection the same as in Airtable: change fields type, name, update the data, etc. Click to More icon right after Airtable icon to change Sync configuration.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/792d41d1-8eea-4ed3-97fd-3e3079602b71.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="query-and-blend-your-airtable-base-using-sql">Query and Blend your Airtable base using<strong> SQL</strong></h2><p>Create your first SQL query by click <strong>Create with SQL query </strong>in Data page. On the right side panel you can find prompts &#x2013; the list of Airtable bases and columns. Press <strong>Send Request</strong> to run your SQL query.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/620f8c38-a402-4a61-a48a-ad17179c68a0.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><p>Jet allows you to join data from different data sources. For example, you can join data from Airtabe and Hubspot. There are two options:</p><ol><li>Relations and Roll-up/Look-ups fields without code</li><li>SQL Queries</li></ol><p>Connect one more data source you want to join with Airtable data (for example, Stripe, Hubspot, Intercom).</p><h3 id="using-relations-and-roll-uplook-ups-fields-to-blend-data">Using Relations and Roll-up/Look-ups fields to Blend Data</h3><p>Go to your <a href="https://www.youtube.com/watch?v=HBrF6wAMghA&amp;list=PLSkzi9eq0vBnUGMnwXrRRVo9TXUjZ7uSj" rel="noopener noreferrer">Collection that has the Stripe Collection ID and specifies Relation</a>. For example, my Airtable collection has Stripe ID field -&gt; Customer ID Stripe: Click to Column and change Type to Link to Record. Specify Data Source and Collection (Stripe -&gt; Customers).</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/31648753-251f-4906-90d8-f7af65f800b5.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><p>Add a new Custom Column and choose Lookups/Rollup based on what operations you would like to do. </p><p><a href="https://www.youtube.com/watch?v=HBrF6wAMghA&amp;list=PLSkzi9eq0vBnUGMnwXrRRVo9TXUjZ7uSj" rel="noopener noreferrer">Learn more about Rollup/Lookups.</a></p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/91bc2b19-dcac-4c12-a444-1005ffa2e04b.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><h3 id="blend-data-with-sql-queries">Blend Data with SQL Queries</h3><p>Click <strong>Create with SQL query </strong>on the Data page. On the right side panel, you can see the list of Data Sources you can blend and join.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/91154278-7056-4b62-8e7d-5c96c42c69b6.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="extend-airtable-api-using-jet-api">Extend Airtable API using Jet API</h2><p>The flexible Jet API enables you to use Jet as a backend, extend your apps, and benefit from inter-operability. Jet generates <strong>List, Retrieve, Create, Update, and Delete endpoints</strong> for each synced Base.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/4de048b6-b804-41c9-a356-761dc9f9df4a.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><h2 id="build-an-app-on-top-of-your-data">Build an App on top of your data</h2><p>Jet allows you to build Internal tools, Customer portals, Dashboards, Automations&amp;Workflows on top of your Data.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/3b3c8755-4246-4b80-bf34-bd761ed31348.png" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><p><a href="https://docs.jetadmin.io/user-guide/integrations/airtable" rel="noopener noreferrer">Learn how to build an app on top of the Airtable database</a></p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://3350332059-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FQVj1BUY5QnVPquBVDqyn%2Fzsrhxd.png?alt=media&amp;token=3eb9aed1-1b28-4a77-a040-d6e36e44d4ff" class="kg-image" alt="Sync data from Airtable to PostgreSQL database in real-time" loading="lazy"></figure><p><a href="https://docs.jetadmin.io/user-guide/workflow" rel="noopener noreferrer">Learn how to build Automations &amp; Workflows on top of Airtable data</a></p>]]></content:encoded></item><item><title><![CDATA[Export Firestore to CSV, JSON]]></title><description><![CDATA[In this article, you'll learn how to export Firestore or Firebase data to CSV, JSON, XLS, XLSX, HTML, TXT, or API-based format and build an app that allows users to export a CSV file from your Firestore database]]></description><link>https://www.jetadmin.io/blog/export-firestore-to-csv-json/</link><guid isPermaLink="false">63b2b5f63b21b10001ecff1e</guid><dc:creator><![CDATA[Anton Svetlov]]></dc:creator><pubDate>Mon, 02 Jan 2023 11:00:37 GMT</pubDate><media:content url="https://www.jetadmin.io/blog/content/images/2023/01/1export-min.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://www.jetadmin.io/blog/content/images/2023/01/1export-min.jpg" alt="Export Firestore to CSV, JSON"><p>In this article, you&apos;ll learn how to export Firestore or Firebase data to <strong>CSV, JSON, XLS, XLSX, HTML, TXT, or API-based format </strong>and build an app that allows users to export a CSV file from your <u><a href="https://firebase.google.com/products/firestore" rel="noopener noreferrer">Firestore database</a></u>.</p><h2 id="step-1-connect-firestore-collections-to-jet">Step 1: Connect Firestore collections to Jet</h2><p>Firstly, create a new project and <a href="https://docs.jetadmin.io/user-guide/integrations/firebase-firestore" rel="noopener noreferrer">connect the Firestore database</a>. Jet automatically syncs and pulls all your data from the existing Firestore collection to Jet&apos;s Data Editor, which acts as a GUI for your Firestore data.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/c9f9f438-39c4-4b3d-88f3-3658963a14b0.png" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><h2 id="step-2-choose-collection-and-export-format-csv-json-or-xlsx">Step 2: Choose Collection and Export format CSV, JSON or XLSX</h2><p>Next, choose a Collection from your Firestore collections that you would like to export. Click on the Export icon and select an export Format: <strong>CSV, XLS, XLSX, JSON</strong>, or others.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/127ad9f0-a540-4778-917c-734e13122d01.jpeg" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/d326f512-95fd-4180-9344-3b8e4b3896b4.png" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><h2 id="step3-get-export-data-result-%F0%9F%8E%89">Step3: Get export data result &#x1F389;</h2><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/b38bdb6a-1fa9-4566-85eb-f18fe1f3c220.png" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><h2 id="creating-the-customer-app-allow-users-to-export-data"><strong>Creating the Customer App: Allow users to export data</strong></h2><p>Using Jet, you can build an app (internal tool or customer portal) that enables your users to export data themselves without providing access to all of your Firebase Collections and Documents by providing granular permissions to your data.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://images.surferseo.art/f834b6ac-1061-4539-a912-323686e83bdf.png" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><p>Go to <strong>Visual Builder</strong>. Grab a <strong>Table</strong> and<strong> Button </strong>components from the right-hand Components panel and drag it to the Canvas to the left. In the right-hand panel, specify Export operation and choose the collection you want to work with.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/6ae91372-fde5-434a-af72-474d0c55e34f.png" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/1d615970-9b4b-4a7a-9437-e652af59eb64.png" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><h2 id="export-subcollections-to-csv-file">Export Subcollections to CSV file</h2><p>Can I export subcollections to CSV as well? Absolutely, you can export subcollections to a CSV file. Subcollections represent a JSON tree in your Excel-column. Just do steps 1-3, and you can export your Subcollections.</p><h2 id="how-do-i-export-firestore-data-as-json">How do I export Firestore data as JSON?</h2><p>Jet allows you to export data in different formats: <strong>CSV, JSON, XLS, XLSX, HTML, and TXT</strong>. Click on the Export icon (Step 2) and choose JSON from the export format list.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/0222d235-75f7-4383-ac23-106b3b54a86d.jpeg" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure><h2 id="how-do-i-get-data-from-firestore-in-flutterflow">How do I get data from Firestore in Flutterflow?</h2><p>You can use Jet Admin as Firestore GUI for your FlutterFlow Database. Connect Jet Admin to your Firestore app and follow Steps 1-3.</p><h2 id="how-to-get-api-data-from-firestore-collections">How to get API data from Firestore collections?</h2><p>Jet automatically generates API based on your Collections: List, Retrieve, Create, Update, Delete. Jet API &#xA0;helps you to save credits for your Firestore database and get actual data.</p><figure class="kg-card kg-image-card"><img src="https://images.surferseo.art/0042bbcc-bf02-4db0-b94e-139bc1406c43.png" class="kg-image" alt="Export Firestore to CSV, JSON" loading="lazy"></figure>]]></content:encoded></item></channel></rss>