This tutorial walks you through setting up two objects in the Caraer app — **Candidate** and **Vacancy** — and adding properties so you can manage recruitment data. ## What you'll build - An **Candidate** object with properties such as name, email, phone, and application status - A **Vacancy** object with properties such as title, department, location, and status - A clear structure you can reuse for other objects in your environment ## Prerequisites - Access to the Caraer app with permission to create and edit objects - A basic idea of which fields you need for candidates and vacancies ## Step 1: Create the Candidate object 1. In the Caraer app, go to the area where you manage **objects** (often under Settings or Configuration). 2. Click **Create object** (or **Add object**). 3. Set the **name** to **Candidate** (and a technical key/slug if your app asks for one, e.g. `candidate`). 4. Save the object. You now have an empty Candidate object. ## Step 2: Add properties to Candidate Add properties so each candidate record can hold the right information. For example: | Property name | Type | Notes | | --- | --- | --- | | Full name | Text | Single-line name | | Email | Email | Contact email | | Phone | Phone | Contact number | | Application status | Single select | e.g. New, In progress, Hired, Rejected | | Applied for | Relation | Link to Vacancy (add after Step 4) | | Notes | Long text | Internal notes | For each property: 1. Open the **Candidate** object and go to **Properties** (or the equivalent section). 2. Click **Add property**. 3. Choose the **type** (Text, Email, Phone, Single select, Relation, Long text, etc.). 4. Give it a **label** (e.g. "Full name", "Email") and, if required, a **key** (e.g. `fullName`, `email`). 5. Configure any options (e.g. for Single select, add the status values; for Relation, you'll link to Vacancy once that object exists). 6. Save the property. Repeat for all Candidate properties. You can add more later (e.g. CV, source, date applied). ## Step 3: Create the Vacancy object 1. Go back to the object list and click **Create object** again. 2. Set the **name** to **Vacancy** (and key/slug e.g. `vacancy`). 3. Save. You now have a Vacancy object. ## Step 4: Add properties to Vacancy Add properties that describe a vacancy: | Property name | Type | Notes | | --- | --- | --- | | Title | Text | Job title | | Department | Single select | e.g. Engineering, Sales | | Location | Text | Office or remote | | Status | Single select | e.g. Open, Filled, Closed | | Description | Long text | Job description | | Candidates | Relation | Link to Candidate | Create each property the same way as for Candidate. For **Candidates**, create a **Relation** property that points to the **Candidate** object (and optionally set it as a list on the Vacancy side). If you added "Applied for" on Candidate, link that relation to **Vacancy** so Candidate and Vacancy are connected both ways. ## Step 5: Use your objects - **Candidate**: Create records for each applicant; fill in name, email, phone, application status, and link "Applied for" to the right Vacancy. - **Vacancy**: Create records for each job; fill in title, department, location, status, description, and see linked Candidates. You can now use lists, views, and (if available) forms or workflows on these objects. ## Next steps - Add more properties (e.g. date applied, salary range on Vacancy) as needed. - Use the [API](/apis) to create or update Candidate and Vacancy records programmatically. - Check the [changelog](/changelog/intro) for new object and property options in the app.