All Collections
Offer Letters
Creating Flexible Job Offers
Creating Flexible Job Offers

Agora's offer letter tool allows for companies to make flexible offers to candidates.

Maryjane Bates avatar
Written by Maryjane Bates
Updated over a week ago

Agora's offer letter tool allows for companies to make flexible offers to candidates. A Flexible Offer gives the candidate the power to determine the make up of their total compensation. They're able to opt for a higher base salary or higher equity, depending on what level of ownership they want in the company.

When receiving a flexible offer through Agora, the candidate will be able to model their preferred annual distribution of base salary versus equity. The slider within the interactive offer letter helps them understand the impact of this choice.

This article covers:

Here's an example of what a flexible offer looks like:

Note that you are able to put guardrails in place that set the minimum or maximum salary a candidate is allowed to model, depending on your flexible offer policy.

Creating a Flexible Offer

To create a flexible offer in Agora, navigate to the Offers homepage and click "New Offer"

In the Compensation section of the offer creation page, there will be an on/off toggle for Flexible Package. Toggle on to pull up the flexible offer options

Once toggled on, you will enter the total annual Base salary + equity of the offer, as well as the Min base and a Max base. Keep in mind when entering in the number in Base salary and equity, this is the amount equity that vests, per year, based on your company stock price and vesting schedule.

A screenshot of a computer

Description automatically generated with medium confidence

Equity Formulas

There is also an option to use an equity formula. By default salary:equity is shown as a 1:1 ratio. Meaning $1 of salary equates $1 of equity. However companies can use the Equity Formula feature to weight their equity ratio using a variety of functions. For example, in order to encourage employees to take a higher % of equity as part of their total compensation, the company will offer $2 of equity for every $1 of salary trade off

By default, we use the following formula sub(250000,BASE_SALARY) which calculates a 1:1 ratio between salary and equity. In this case, 250,000 is the sum of both the equity and base salary. You then enter the min and max base salary and based on that we calculate the amount of equity the candidate will receive based on their preferred distribution.

A screenshot of a phone

Description automatically generated with low confidence

Unweighted Equity Formula Example

In the offer letter slider the equity and base salary will always add up to $250,000 in this scenario since it is a 1:1 ratio.

Weighted Offers

If you would like to create a weighted offer that does not use a 1:1 ratio, you can use a formula to set your preferred distribution. For example, if we use the formula: multiply(sub(250000,BASE_SALARY), 2) the equity quantity has doubled.

Weighted Equity Formula Example

Once you have created the offer, click on the candidate's unique offer url to preview how the flexible offer is presented to the candidate.

You can review everything and make edits from the offer details page.

Equity Formula Variables and Functions

Below is a list of variables and functions that can be used to create a formula:


  • BASE_SALARY - This variable represents the base salary that the user selects. Type: Money

  • FLEXIBLE - Is this a flexible offer? Type: boolean

  • TARGET_BONUS_VALUE - This variable represents the target bonus for a user. Type: Money

  • TARGET_BONUS_PERCENT - This variable represents the target bonus percent. Type: number

  • TARGET_COMMISSION_VALUE - This variable represents the target commission for a user. Type: Money

  • TARGET_COMMISSION_PERCENT - This variable represents the target commission percent. Type: number

  • SHARE_VALUE - This variable represents the value of your shares. Type: Money



  • SUM - Add together all given parameters. Can take any number of number or Money parameters. (Example: SUM(BASE_SALARY, 100000) will add 100,000 to base salary)

  • SUB - Subtract all given parameters. Can take any number of number or Money parameters. (Example: SUB(BASE_SALARY, 100000) will subtract 100,000 from base salary)

  • DIVIDE - Divide given parameters. Can take two number or Money parameters. (Example: DIVIDE(BASE_SALARY, 100000) will divide base salary by 100,000)

  • MULTIPLY - Multiple given parameters. Can take two number or Money parameters. (Example: MULTIPLY(BASE_SALARY, 100000) will multiply base salary by 100,000

  • ROUNDUP - Round a number up to the nearest integer value. (Example: ROUNDUP(BASE_SALARY) , if salary is 100,000.50, then this will return 100,001)


  • MONEY - Create a Money value. (Example: MONEY(100000, "USD") will create a money value in USD.

  • AMOUNT - Return just the amount of a money value. (Example: AMOUNT(MONEY(100000,"USD"))will return the number 100000.

  • CURRENCY - Return just the amount of a money value. (Example: CURRENCY(MONEY(100000,"USD"))will return the string USD.


  • IF - Takes three parameters, with the first being the condition, the second being the result if it's true, and the third being the result if its false. (Example: IF(FLEXIBLE, "Is flexible", "Not flexible").


  • CONCAT - concatenate two strings (Example: CONCAT("STRING", "STRING") is equal to "STRINGSTRING"

Did this answer your question?