Forum Discussion

JordanBeatty's avatar
JordanBeatty
Qrew Member
4 years ago

How to setup a client protal

We are using QuickBase to manage claims from an assortment of clients. In order for a claim to be inputted into the system currently they needed to phone in or email a consultant. We would like to be able to have clients input some information directly before having an administrative assistant reads through what is inputted and prep it be taken over by a consultant. What are we looking at in terms of making this a reality? Do all the clients need to have a paid seat to be able to do this? Do I need to setup an app for each client to input into to keep privacy in check? Can I just create a form to share with the client that will input information into a Quickbase table?

------------------------------
Jordan Beatty
------------------------------
  • Hey Jordan,

    This is a big topic but there are 3 main ways to do this.

    1. Give clients a paid seat and setup an app that will only show certain information to that user based on a set criteria (the company they work for).
    2. Create a custom portal on a website that utilizes the Quickbase API (need someone with programming skills for this).
    3. Create a app that is open to everyone on the internet (this option is only good if you are not worried about restricting access to data to different groups of people).

    My company is an engineering company and we have created a portal for our clients to submit projects to us. We did this in Quickbase and gave users in the client companies paid seats. This worked well for me and my clients are happy with it. Essentially what I did was made only one app for all my clients and only gave clients access to that app. I then created tables in the clients app that mimicked the tables in our internal applications. I then setup automations to update the client tables with only the information the client app needs. This way they never actually need access to the main apps and you can control what information is stored in the clients app. Additionally, the information in my app is tied to a company so It was easy for me to make it so that each client user only sees information related to their company.

    Another alternative is using a service like Jotform and Zapier. You can have your clients fill out a form and have the information from that form automatically be inputted into quickbase.

    It's really hard to make recommendations without knowing what your business is and what data you want to control. If you have any questions or thoughts please let me know I will try my best to help.

    ------------------------------
    Matthew Lysinger
    ------------------------------
    • JordanBeatty's avatar
      JordanBeatty
      Qrew Member

      I did see the form wizard where I could embed something on a website, but I really like the idea of a client only app. I could create a client role inside that Quickbase app to control what they can see and create a you can only view what you input restriction. 

      I am interested in your approach to tie a user to a company in your app. For example we have Parent Companies, Sub Companies of the Parent Company, with locations and workers. So how would I lock it down so that in a drop down menu client a only sees stuff related to their company. Would I create a client table and relate the parent companies to that client and force that field to autofill to the current user?



      ------------------------------
      Jordan Beatty
      ------------------------------
      • MatthewLysinger's avatar
        MatthewLysinger
        Qrew Trainee
        You can create forms that you embed on the internet but the problem is without a user login (either for Quickbase or your website) there is no way to identify who the user is or what company they work for and filter the data they see.

        What I did was create a peoples table and a organizations table and created a relationship between them. You may need a third table which will have multiple relationships with the organizations table - the reference fields in this third table would be named Parent Company and Subsidiary.

        The peoples table should have a user field named "User Account". You should also have a formula checkbox field called "Is Current User" with the following code:

        If(User()=[User Account],true,false)

        In your organization table you need a summary combined text field that combines people from the people's table that have user accounts (user account is not blank) - this can be named Users.

        Then you need a formula checkbox field on the organizations table named "Current User Is In Organization" that says:

        Contains([Users], ToText(UserToEmail(User())))

        Now when someone logs in and if they are related to that organization those checkboxes will be checked. Now that this is setup you can filter what the user see by saying only show data related to the organization the user is in.

        Also you may want to set the user field as the key field in the people's table that way on your form you can create a relationship with the people's table and set the user fields (reference) default value as current user. Since your user field is the key field you can then create lookup fields which will bring in additional information about that user. (I use a separate merged table for users instead of the peoples table). So basically when a user clicks "Create new form" or w.e. you may call it, the user field is automatically set to them and the data is filtered based on what organization they belong to.

        You can also use this method to further filter other types of data that the user has access too.

        I hope that has helped you. If you have any additional questions or ideas please let me know.

        ------------------------------
        Matthew Lysinger
        ------------------------------