How to create and manage offer fields
Last updated: November 13, 2026
Offer fields are the fields that appear on every offer you create in Kula — a mix of built-in fields (Salary, Start Date, Equity, and so on) and any custom fields your organisation has added.
This article covers creating custom offer fields, managing the full set (built-in and custom together), and adding sections (different content for each option) to single-select and yes/no fields.
Who can do this: Admin, Super Admin (any custom role with the permission to manage offer custom fields).
Where to find it: Settings → Custom fields → Offer fields.
Creating a custom offer field
On the Offer fields page, click Add custom offer field.
Choose a field type. The types available for offers are shown in the table below.
Set the label, and whether the field is Mandatory or Optional.
Save. New custom fields land in their own Custom section on the offer form, alongside Kula's built-in sections (Offer Details, Additional Compensation, Candidate Details, Job Details).
Type | Use it for |
|---|---|
Short text | A single line of text (up to 255 characters) |
Long text | Longer free text |
Rich text | Formatted text |
Single select | Pick one option from a list |
Multi select | Pick several options from a list |
Yes/No | A yes or no answer |
Date | A date |
Number | A number |
URL | A web link (up to 255 characters) |
File upload | An attached file |
Users | One or more Kula users (can be used to pick approvers) |
Managing offer fields
Reorder fields by dragging them. Where field reordering is turned on for your account, you can drag any field, built-in or custom, into any section. If you can’t drag a field into another section, that option isn’t turned on for your account yet. Contact support@kula.ai to ask.
Require or hide a field with its toggle. Set a field to Mandatory, Optional or Hidden using the status menu on the field’s row. Custom fields can only be Mandatory or Optional. Only built-in fields can be hidden, and some built-in fields are always Mandatory and can’t be changed. If a field's token is already used in an offer letter template, hiding it shows a warning listing every template that uses it — those templates stop working until you either unhide the field or remove the token from the template.

Require re-approval on change. Any offer field — built-in or custom — can have Requires re-approval turned on with the switch on the field’s row (it appears when you hover over the row). When it's on, changing that field's value on an offer that's already been through approval sends it back through the approval flow again, rather than letting the change stand unapproved. If your organisation uses offer approvals, this is how you make sure a late change to a field doesn’t slip through without a fresh sign-off.

Deleting a field isn't always possible — a Users field that is set as a reviewer in an approval step can’t be deleted, or changed to Optional, until you remove it from that approval rule first.
Some built-in fields let you set an organisation-wide default — for example, a default currency, or a default equity/bonus award type — so new offers start pre-filled instead of blank.
Adding sections to a field (per-option content)
This feature is only available if it has been turned on for your organisation. If you don’t see the Offer section link described below, contact support@kula.ai.
For a single-select or yes/no offer field, you can attach different content to each option — so one offer letter template can render the right clause automatically instead of you maintaining a separate template per variant (for example, a different clause per employment type, or a yes/no addendum).
Go to Settings → Custom fields → Offer fields and open the single-select or yes/no field you want to add content to.
For each option, click + Offer section next to the option and write the content that should appear when that option is selected on an offer. You can add up to 5,000 characters. To include offer details, click the { } button in the box and pick a token.
Kula derives one token for the field — {{offer.<token>_section}} — which appears in the offer letter template's Available tokens panel, labeled "<Field> section," right next to its parent field. Drop that token anywhere in the template.
When the letter is generated, the token renders whichever option's content was picked on that offer. An unselected or empty section renders nothing — no stray blank line.
Good to know
Sections only work on single-select and yes/no fields — not multi-select or free-text fields.
Section content can reference other offer field tokens, and those resolve normally when the letter is generated — but a section can't reference another field's section token; that level of nesting isn't supported.
Section content is plain text. Formatting such as bold or bullet points isn’t supported inside a section.
If you delete an option from a single-select field, that option's section content is cleaned up automatically — it won't linger as orphaned, unreachable content.
Requires re-approval and offer approvals are connected. If your organisation uses Offer Approvals (see "Creating offer approvals"), turning on Requires re-approval for a field is how you make sure a late change to it doesn't slip through without a fresh sign-off.
FAQ
Why can’t I hide my custom field? Custom fields can only be Mandatory or Optional. Only built-in fields can be hidden.
Why can’t I delete a field? A Users field that is a reviewer in an approval step can’t be deleted until it’s removed from that approval rule.
I hid a field and my offer letter looks broken. Why? If the field’s token is used in an offer letter template, the template stops working until you unhide the field or remove the token.
Why can’t I add a section to my field? Sections only work on single-select and yes/no fields, and the feature must be turned on for your organisation.
Why can’t I drag a field into another section? That option isn’t turned on for every account. Contact support@kula.ai.
Need help?
If you have questions or need assistance, reach out to us at support@kula.ai or use the in-app chat.