Creating a custom field
Open the Custom Fields settings
Add the field
Choose the field type
Configure the type's options
Choose where the field appears
Field types
Beebole supports seven field types, each suited to a different kind of data:Field options and validation
Each type comes with its own options, all edited in the Custom field details panel and saved automatically:
A text field restricted to a list of predefined values
Unique ID fields
A Unique ID field holds an identifier that only one item can carry, such as an employee number or the code a project has in your ERP. Each non-empty value can belong to only one item across everything the field is used on, whatever its type: if a person holdsEMP-0042, no other person, project, task, or time entry can take it.
- Matching ignores upper and lower case and any spaces before or after the value, so
emp-0042counts asEMP-0042. Beebole removes those surrounding spaces when it saves the value. - Archived items keep their values, so archiving an item doesn’t free its ID. Deleting the item does.
- Empty values don’t count: any number of items can leave the field blank.
^EMP-\d{4}$ for EMP followed by four digits. A Unique ID field has no length limits and no list of allowed values.

A Unique ID field for employee numbers, with a format and a placeholder
Choosing where a field appears
The Custom field visibility panel controls which items carry the field. A single field can apply to several, and each toggle is saved automatically:- Visible for People — The field appears on every person’s profile.
- Visible for Projects — Turn it on, then use Add a category to choose the project categories where the field applies. Within each category you can tick the hierarchy levels — for example top-level projects only, or their subprojects too.
- Visible for Tasks — Turn it on, then choose the task categories where the field applies.
- Visible for Time Records — The field appears when filling in a time entry’s details on the timesheet. Narrow it down with Project categories and Plannings, and turn on Absences to also show the field on time-off entries. A field scoped to a planning applies to tasks at every level of that planning.
- Visible for Absence types — The field applies to your time off types. It appears in the Custom fields panel of each type, and it becomes a column you can review and fill in for time off types in Master data review.

The Custom field visibility panel of a field shown on people, time records, Client projects and tasks
Who a field is asked of
Visibility decides which kind of record can carry the field. The field’s Who has access? panel then decides which records actually get it, with sections for people, tags, projects, tasks, and time off types. When Show all custom fields is on in Show or hide by default, those sections flip into exclusion lists instead. See Assignments for how the two directions work together. On a time record, the field follows the person the timesheet belongs to — not whoever types the entry — and Beebole checks every link the entry offers: the person and their tags, the projects on the entry and their parents, its task, and, on a time-off row, the time off type it is booked against. A match on any one of them brings the field in, which is what makes an assignment to a time off type show the field on absences of that type.Entering values
Which records show a field depends on Show all custom fields, in the Show or hide by default panel of Account Settings. While it is on, as in a new account, a field visible for a given type appears automatically on every matching record, except the ones excluded in its Who has access? panel. With it off, the field appears only on the people, tags, projects, tasks, and time off types listed in that panel, directly or through a tag. See Who a field is asked of. Open a person, project, or task and fill in the field in its Custom fields panel; values are saved automatically as you enter them. For time records, open the entry’s details on the timesheet and fill in the field there.
A person's Custom fields panel with a date and a text value filled in
Custom fields in reports
Custom field values flow into reporting. When you build a custom report, a custom field is offered at the bottom of the field list of the report columns that match its visibility, so a field like a client reference or region becomes a regular report dimension:- Fields visible for people appear in the Person column.
- Fields visible for projects appear in the column of each project category they apply to, at the levels you ticked. Fields visible for tasks appear in the column of each planning they apply to.
- Fields visible for time records appear in the Time column.
- Fields visible for absence types appear in the Absence type column.
Custom fields in the API
Definitions and values are both exposed in Beebole’s GraphQL API: read them withgetCustomFields and getCustomFieldValues, write values with addCustomFieldValue and its edit mutations. This is how an identifier from another system — an HR or payroll ID kept in a text field, or the External ID field a legacy migration creates — is looked up or filled in from a script. See Custom fields on the Queries page and Custom fields on the Mutations page.
Managing custom fields
To manage an existing field, open it in Settings > Custom Fields and click the ⋯ action menu next to its name. The menu offers Duplicate, Rename, Archive, Unarchive, and Delete. Archived fields disappear from the list. Click Show Archived to display them, then use the ⋯ action menu and Unarchive to restore one.Related content
People
Projects
Timesheets
Custom Reports
Frequently asked questions
Which field types does Beebole support?
Which field types does Beebole support?
Do custom fields appear on the timesheet?
Do custom fields appear on the timesheet?
Can I restrict a custom field to a list of allowed values?
Can I restrict a custom field to a list of allowed values?
Can I show a custom field only for some project categories?
Can I show a custom field only for some project categories?
Can I change a custom field's type after creating it?
Can I change a custom field's type after creating it?
Why doesn't my custom field appear on a person?
Why doesn't my custom field appear on a person?