Skip to main content

Get Started with HAP


This article will guide you through quickly building a simple hiring system, helping you understand the basic ideas and operations for building applications.

I. Introduction to HAP

HAP is an innovative hyper application platform that empowers users to build enterprise applications with no coding required. This means that users can create core business applications for sales, operations, human resources, and procurement that deliver excellent user experiences, all while seamlessly integrating the organization’s internal data. HAP also has a super automation engine that can fully automate complex and repetitive business processes. With HAP's integration center and complete API capabilities, users can easily integrate HAP with external systems. In addition, HAP has high composability, internationalization support, and supports cloud-native architecture, enabling multi-cloud deployment. Through a plug-in architecture, HAP is gradually establishing a thriving implementation and development ecosystem.

The business systems built on HAP are referred to as applications. Each application can address a specific aspect of a business process, allowing HAP to manage everything from a simple ticket application to a comprehensive ERP solution.

In HAP, the application building relies on a combination of 7 encapsulated functional modules, namely Worksheet, View, Role and Permission, Workflow, Chart, Custom Page and External Portal.

  • Worksheet: Collect and store business data. Whenever you want to enter any data, a worksheet is a must, such as employee worksheet, customer worksheet, order worksheet, etc.
  • View: Display the filtered data according to different business scenarios or roles.
  • Role and Permission: Configure permissions for members to add, delete, modify or query business data.
  • Workflow: Support automated processing and flow of business data.
  • Chart: Facilitate your decisions with visualized analysis of multi-dimensional data.
  • Custom Page: Set shortcut buttons, charts, views, etc. It is usually used to build a dashboard or launchpad.
  • External Portal: Invite external users to join, connecting internal and external users.

Now, let's try building an application together.

II. Pre-building

Before starting to build the application, three things need to be clarified:

  • What are the required business processes and automation processes?
  • What are the business data involved in the processes?
  • What are the personnel or roles involved, as well as their operation permissions?

In the following, we'll take the application "Hiring System" as an example, to introduce the basic steps and required functional modules for building the application.

1. Business process

Through analysis and organization, the recruitment process generally has the following core requirements:

  • Job candidates submit their resume information directly
  • Recruiters manage all candidates information
  • Recruiters schedule interviews
  • Notify the hiring manager to prepare 15 minutes before the interview time (automated)
  • Hiring manager modifies interview results
  • Synchronize the interview result to the candidate record (automated)
  • Create a dashboard for recruiters to easily track the progress of all candidates

2. Business data

This application mainly manages candidate information (resumes) and information related to scheduling interviews.

3. Roles involved

The roles involved in the application are candidates, recruiters, and hiring managers.

4. Solutions

HAP responses to the requirements mentioned above with the following.

RequirementsSolutions in HAP
Candidates submit resume information directlyCreate a worksheet Candidate to collect resume information and keep it visible to public
Recruiters manage the information of all candidatesCreate views to display candidates of different statuses
Recruiters schedule interviewsCreate a worksheet Interview
Notify the hiring manager 15 mins before an interviewCreate a workflow to monitor the interviews when to start
Update the interview result, pass or failSet a role of hiring manager and configure operation permissions for it
Sync the result to the candidate recordCreate a workflow to automatically sync the interview result
A dashboard for recruiters to tracck the hiring progressCreate a custom page to add charts and views

III. Application Building

1. Create an application

After logged in to HAP, we create an application named "Hiring System", in which several worksheets can be created for data input and management.

This step represents the foundation of an application. Later, we will enrich and complete it with worksheets, views, roles and permissions, charts, custom pages and workflows.

2. Create worksheets

Worksheets are the most core and basic modules in the application. We can think of worksheets as an online Excel, used to store and manage business objects in enterprise activities. The fields of the worksheet record various attributes of these objects, such as customers, employees, and job seekers, all of which are typical business objects. Attributes of these objects include customer location, order number, job seeker name, and phone number.

Here, we need to create two separate worksheets for candidates and interviews.

2.1 Create a worksheet - Candidate

Let's first take a look at what the candidate table looks like in Excel. The required candidate information includes name, date of birth, gender, email, the applied position, etc.

NameGenderEmailApplied PositionSource
Ethan ThompsonMaleethan.thompson@email.comAccountantIndeed
Lauren MillerFemalelauren.miller@email.comGraphic DesignerZipRecruiter
Michael WilsonMalemichael.wilson@email.comProject ManagerLinkedIn
Samantha DavisFemalesamantha.davis@email.comSoftware DeveloperMonster
Ryan BrownMaleryan.brown@email.comSales RepresentativeGlassdoor
Amanda JonesFemaleamanda.jones@email.comHR SpecialistZipRecruiter
Alex JohnsonMalealex.johnson@email.comSoftware EngineerIndeed

We need to create a corresponding worksheet to manage these information.

Worksheet:

Click [Create from Blank], and it will automatically enter the worksheet design page (canvas).

Select the appropriate controls from the left control area and add them to the middle form design area (canvas), then modify their properties (name, width, required or not, etc.).

Required FieldControl
NameText
GenderSingle select
EmailEmail
Date of birthDate
Applied positionSingle select
Resume sourceSingle select
StatusSingle select

The completed candidate worksheet design is as shown in the image below.

1) Enter candidates information

We can manually add a record or import an Excel file. Here, we choose to import data.

Candidate Information.xlsx

After importing, below is the worksheet Candidate with multiple rows of records.

2) Operations on a single record

Clicking on a record will open the record details page, where we can perform actions such as modifying, sharing, discussing, printing, or deleting.

3) Bulk edit records

4) Public form

Go to [Edit Worksheet] > [Extend] > [Public Form] to enable public form access for job seekers to directly fill in their information.

In addition, the interface for public data collection can also be customized, such as uploading a logo, setting a background color, adding a description, or choose which fields to make public to users. After completing the design, we can share the QR code or link.

The QR code or link can be shared on the official website or other channels. Job seekers do not need to log in, instead, they can scan the code or click the link directly to fill in their job application information.

5) Other features

  • Business Rule: If the value of field A meets the certain condition, the other fields will be hidden or displayed, or will not be editable.
  • Custom Action: It is also possible to add buttons that, when clicked, prompt a window for filling in the specified fields, which will be more scenario-oriented.
  • Printing Template: Edit printing formats in Word and upload it as templates.

To learn more about these features, please check out relevant articles in our help center.

2.2  Create a worksheet - Interview

When scheduling interviews, it is necessary to know some key information such as the candidate, gender, applied position, resume, interviewer, start time, comments, result, etc. The designed interview worksheet is as follows.

During interview scheduling, interview comments and results are not required to be entered, we can check [Hide when adding record].

Then, let's try creating an interview record.

2.3  Relate worksheets

When creating the interview record, you may have noticed that Lauren Miller's basic information already exists in the worksheet Candidate. Can we use this information directly when scheduling the interviews to avoid duplicate entries? The answer is yes! This is, in fact, the most reasonable design choice.

1) Add the Relationship control

Go to the editing page of worksheet Interview, select the [Relationship] control, and relate the current worksheet to the worksheet Candidate.

2) [Relationship quantity]

Relationship quantity determines if multiple candidates can be related to one interview. In this case, there should be only one candidate for each interview. Thus, here check [Single row], which means you can relate one candidate if necessary.

But on the contrary, when to relate the worksheet Interview on the editing page of the worksheet Candidate, the relationship quantity should be [Multiple row], that is a job candidate can be scheduled for more than one interviews.

Or you can directly check [Bi-directional relationship].

At this point, the text field of the candidate is no longer necessary, just delete it.

Now, let's try again creating an interview record. As shown below, we can select the candidate record directly.

When relating worksheets, whether to select [Single row] or [Multiple row] depends on the relationship between business objects. Later you can go to read the corresponding section to learn more about these three kinds of relationships in our help documentation.

3) [Foreign field]

Previously we have related the worksheet Interview to worksheet Candidate, and the candidate can be directly selected from the existing data. For convenience, we can add the [Foreign field] control, which literally means that the fields in other worksheets can be displayed in your current worksheet, to display the gender, position, or resume source information.

As shown below, we add the foreign field to directly display the applied position of the related cadidate.

Select the [Foreign field] control, and configure it on the right side to ensure information is clear and accurate.

  • Field name: Applied position
  • Related records: Related to Candidate
  • Display fields: Applied position
  • Type: Display only for viewing the latest data; Storage data for further operation like searching, filtering, etc.

Similarly, the field gender and resume source can also be displayed in this interview worksheet.

4) Set the title field

The title field is usually identifiable and unique, identifying the main content of a record. Without a title field, the form cannot be saved.

In the candidate worksheet, we can set fields such as name, phone number, and email as title fields, but we generally differentiate between different candidates by name. In the interview worksheet, we can also set the candidate or applied position as the title field, but it is better to use a combination of name and applied position as the title field, like Lauren Miller-Graphic Designer.

Add a [Concat] field, which combines the candidate and applied position, and then set it as the title field.

The fields set in the interview worksheet are shown as below.

FieldControlNote
TitleConcatName-Position
CandidateRelationshipSingle row
GenderForeign fieldStorage data
Applied positionForeign fieldStorage data
InterviewerMembers 
Start timeDate 
End timeDate 
Resume sourceForeign fieldDisplay only
CommentsText 
ResultSingle select 

Here is the improved form settings.

3. Create views

When managing business data, there are times when it is necessary to view certain data. For example, when dealing with candidates, it may be necessary to classify candidates based on different statuses such as interviewed, offer sent, etc. For interview scheduling, interviewers may only need to view interviews they are involved in; moreover, each interview has a start and end time, and there may be interviews scheduled every day, so displaying the interview schedule through a calendar view makes it easier to manage. Both of these requirements can be addressed through views.

A view is a window that allows users to view and interact with certain business data. It consists of display styles, field displays, data filtering, and default sorting. There are ten types of views in HAP, namely Table, Board, Calendar, Gallery, Org, Gantt, Map, Details, Resources and view plugin. When creating views, you can set the data filter, display order and data field. By default, there is a grid view named [All] in each worksheet, displaying all the data.

3.1 Manage candidates by status

1) Create table views to display candidates in different stages

Create table views to display candidate information based on their status. For example, create a "New" view that only displays candidate records with the status "New", sorted by creation time.

We can create more views in the same way to display candidates in other statuses.

2) Create a board view to display candidates in different stages

In this board view, data filtering is not needed. It displays all candidate records, grouped by different stages.

3.2 Create a calendar view to display interview schedules

Each interview has specific start and end times, aligning with the concept of schedules, making it suitable to display to interviewers through a calendar view.

Create a new calendar view, selecting the interview start and end times as the calendar's start and end times.

It's important to note that each interviewer only needs to see interviews they are involved in. Therefore, this calendar view requires data filtering, with the filter condition being "When interviewer equals current user." This way, whoever views this view will only see interview records where they are the interviewer.

As we can see, a complete calendar view will significantly contribute to the work and time management of hiring managers and interviewers.

For more details on other views, please go to read the corresponding section in our help center.

4. Roles and permissions

Once the application is set up, we can invite colleagues to join and use this application.

Roles in an application include application administrators and custom roles.

  • Application Administrators: They can build and adjust the application structure and functionalities, add other application roles, permissions, and members. The permissions of application administrators cannot be modified.
  • Custom Roles: They can only use the built application and perform operations on business data within their permissions.business data.

We often configure custom roles.

In this application, candidates can submit resume information through a public form, so there is no need to assign roles to them. Recruiters are the creators and managers of the application, acting as application administrators. We only need to assign roles to hiring managers.

4.1 Invite colleagues

You can invite colleagues to join your organization by email or phone number.

4.2 Assign roles and permissions

1) Assign roles to hiring managers

Each application will be pre-configured with two roles, member and read only. Here we can modify the member role directly. The operations after creating a new role are the same as modifying a role.

For the interview worksheet, set the "My Interviews" view to be visible to hiring managers.

Set the hiring managers to have the permissions to edit records in the "My Interviews" view.

We have not set all views in the candidate worksheet and the "All" view in the interview worksheet to be visible to hiring managers. Therefore, hiring managers will not see these views.

2) Add users to the role

3) Member’s view

Hiring managers can only see data in the "My Interviews" view.

4) Modify interview results

After the interview, the interviewer opens the interview record to modify the interview comments and results.

5. Cerate workflows

What is a workflow? It consists of a trigger and multiple task nodes. Set a trigger condition, and when the data changes meet the condition, a set automatic task or a series of tasks are automatically executed. The entire process is an automated workflow.

Manual operations with certain rules can be mostly automated through workflows, saving on manual operation costs.

In this application, there are two automated processes:

  • Notify the interviewer to prepare 15 minutes before the interview starts
  • Synchronize the interview result to the candidate's record

We create the corresponding workflows respectively.

5.1 Workflow - Notify the interviewer 15 minutes before the interview

1) Create a workflow triggered by date field

There are 5 trigger modes in workflows.

  • Trigger by worksheet: Triggered when creating or updating records in the worksheet, including adding, modifying, deleting, etc.

  • Trigger by scheduled: Triggered on a time.

  • Trigger by date field: Specify a date field to trigger the workflow.

  • Trigger by Webhook: Data from other information systems can be pushed to HAP. Once receiving, the process will be triggered for data integration.

  • Trigger by custom button: Click the button to trigger the workflow.

According to the requirements, we need to cerate a workflow triggered by date field.

2) Set the trigger node

Select the interview worksheet, date field is the start time of interview, 15 mins before each interview.

It will extract start time of all interviews in the interview worksheet. Each start time will trigger the workflow.

3) Send notification message to interviewers

Add a [CC] node, set up the notification messagge and the notifier.

  • Notification messagge: select the field content or enter fixed content.

  • Notifier: Select the field of interviewer.

4) Publish the workflow

5) Workflow message

5.2 Workflow - Synchronize the interview result to the candidate's record

There are interview results in the interview record, pass or fail or, which is also needed in candidate records. After modifying the results, it will be better if the results can be automatically synced to the candidate record.

The process is that when the interview result is pass, the status field in cadidate record should be updated to background check; if the result is fail, the status field in cadidate record should be updated to rejected.

The flow chart is as follows.

1) Create a workflow triggered by worksheet

2) Set the trigger node

Select the interview worksheet, check [Only when updating records] and select the field of interview results.

3) Add branches

Different interview results require different processes. Therefore, a branch node needs to be added.

The configured branch node is shown below.

4) Get the candidate record

If the result is pass, the status field in candidate record should be updated to background check. Therefore, we need to get the candidate record first.

Add a [Get single data] node and select [Get the associated records].

Since the interview worksheet has been related to the candidate worksheet, the candidate record can be obtained through the relationship.

  • Add the [get single data] node

  • Configure the [get single data] node

5) Update the status field

Add the [Update record] node, choose the object to update, and set the updated data field.

6) Set the other branch - If fail

The nodes configuration is similar, details are as shown in the figure below.

7) Edit the workflow name and publish

8) Test the workflow

Click on an interview record, modify the results to pass, and save it.

We can see the status field in candidate record is automatically updated to background check.

Workflows can facilitate the implementation of many complex processes. For further details regarding nodes and workflows, please go to read the relevant section in our help center.

6. Create charts

Analyzing business data from various dimensions is an essential requirement in operations. HAP supports 9 types of visualization charts: bar chart, line chart, pie chart, number chart, biaxial chart, radar chart, funnel chart, pivot chart, and administrative division.

In this application, we will create a chart to visualize the number of candidates who have been interviewed.

6.1 Entrance to create charts

We will analyze the number of candidates who have been interviewed, so we need to create a chart in the interview worksheet.

6.2 Configure the chart

The general steps for configuring a chart are as follows:

  • Set the data source
  • Select the chart type
  • Choose the statistical dimensions (drag fields from the left)
  • Edit the chart name
  • Save the chart

A configured chart:

For configuration of other charts, please go to read the relevant articles in our help center.

7. Custom Page

Most of the systems we commonly use require a homepage to display frequently used data, buttons, or charts. We can display these items on a custom page, serving as a dashboard or launchpad.

Currently, the custom page supports quick buttons, charts, rich text, and embedded external pages.

In this application, we will create a custom page to display various statistical charts, such as the number of candidates awaiting interviews, and the number of candidates with different interview results.

7.1 Create a custom page

Create a custom page and name it "Home".

7.2 Add charts

Select the chart component, configure the chart, and save it.

7.3 Adjust the size of charts

Drag to adjust size of each chart.

For adding and configuring other components, please go to read the relavant articles in our help center.

7.4 Save the page

8. Summary

Through the six functional modules above, we have built a simple hiring system that meets the expected requirements. It is an enterprise application that can be analyzed and statistically evaluated, including data management, configuration of operation permissions to users, and automated business processes. Even more complex applications cannot do without these functional modules and can be built through a no-code approach. Now, start building the application that meets your actual needs.

IV. Other Features

In addition to the core application building, other essential features are also provided.

1. Organization management

In the organization management page, organization administrators can further customize the organization, manage users within the organization efficiently, and conduct some other management settings.

More details

2. Integration

In digital operations, various data transmission and information sharing between different business systems are necessary to achieve more efficient business processes and improve user experience. At this point, integration between applications and external systems becomes crucial. HAP can achieve integration with external systems through API integration, data integration, and platform integration.

  • API

    In the integration center, API connections and authorizations with external system can be established, which can then be directly reused in worksheets and workflows.

    In workflows, connections with external systems can also be established through the "Send API Request" node.

  • Data Integration

    Data integration in the integration center can achieve direct connection with external databases, synchronization between external databases and HAP, as well as tools for ETL processing. Through data integration, users can not only synchronize integration between HAP and external databases but also use HAP as an intermediary tool to synchronize data between two external databases.

  • Third-party Platform Integration

    DingTalk, WeCom, and Feishu are leading products in the domestic enterprise office software sector. HAP supports integration with these three platforms, enabling account connectivity, one-click login to HAP, unified management of contacts, and message synchronization.


Have questions about this article? Send us feedback