Ashby logo Ashby automation · runs daily

Create an Ashby offer and send the offer letter

The hiring manager agrees terms on a call, and the recruiter retypes them into the Offer Details form, waits for approvers and then drafts the letter email by hand.

Cotlet does it in your own Ashby account with get_candidate, create_offer and send_offer_letter, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can Ashby do this on its own?

Ashby has this flow natively (checked 16 Oct 2026): Create Offer, approvals, Generate Offer Letter and e-signature requests. The official MCP has no offer tool, and the API index lists offer.create and offer.start for code. Nothing in Ashby fills the offer form from a sentence or sends the letter when approval clears.

How you do it in Ashby today

  1. The recruiter moves the candidate to the Offer stage, which adds an offer activity to the profile.
  2. They click Create Offer, fill the Offer Details form and click Submit.
  3. If approvals are on, they click Generate Offer Letter when the organization requires a letter first, check the approvers and click Submit Request.
  4. After all approval steps are done, the recruiter opens View Offer > Generate Offer Letter, uses Draft Offer Letter Email, picks an email template and clicks Send.
  5. When the candidate answers, View Offer > Set Response marks the offer accepted or declined.

How to create an Ashby offer and send the offer letter

Prompt

Ana Costa is in the Offer stage for Product Designer. Create her offer with base salary 95,000 and start date 16 Nov 2026, request approval, and when it is approved send the letter with the "Offer letter" email template.
  1. 01

    Check the stage

    get_candidate confirms the application is in the Offer stage and that no offer exists yet. If one does, the agent stops and shows it instead of creating a second.

  2. 02

    Fill the form by field title

    create_offer maps your terms to the field titles of your offer form, which an admin keeps under Admin > Offers > Offer Custom Fields. A field it cannot match is reported, not guessed.

  3. 03

    Respect approvals

    With request_approval set, the agent submits the approval request and stops. It never sends a letter while an approval step is open.

  4. 04

    Send the letter

    Once approval is complete, send_offer_letter generates the letter, drafts the email from your template and sends it. The candidate gets money terms, so the call asks for your OK by default.

  5. 05

    Leave the response to you

    Marking the offer accepted or declined stays a human step, because it moves the candidate to Hired.

What you get back

Example data

Offer created for Ana Costa, Product Designer
Base salary 95,000, start date 16 Nov 2026
Approval requested from: Hiring Manager, Finance
Letter: waiting for approval, nothing sent

Other ways to ask

  • Every morning, send the offer letter for any offer whose approval cleared since yesterday.
  • Create offers for the two candidates in Offer stage from this spreadsheet of terms, request approval, send nothing.
  • Show me the Offer stage candidates who have no offer yet.

What Ashby allows, and what to know first

  • Ashby lets Organization Admins generate offers; other users need the permissions Can See Candidate Profiles, Can Add/Edit Candidates and Can See Private Fields.
  • Approvals are available on the Plus, Enterprise and Legacy Plus plans and are not available on Foundations.
  • While offer approvals are active, Hired is hidden from Change Stage, and Offer Accepted moves the candidate to Hired.
  • If Require Openings for Hires is on, an offer needs an opening, and the opening must be Open.
  • Adding candidate e-signature tokens to an offer letter template turns on e-signature for it, and company tokens need a counter-signer.

create_offer and send_offer_letter ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.

Sources: Ashby Knowledge Base: Offers & E-Signatures · Ashby Knowledge Base: Offer Approvals · Ashby Knowledge Base: Openings Management · Ashby API reference: endpoint index (llms.txt)

Call create_offer from a script

curl

curl -X POST https://cotlet.dev/api/v1/ashby/applications/9c41b7a2-6e03-4d58-a1f9-3b8d25e07c64/offers \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fields":{"Base salary":"95000","Start date":"2026-11-16"},"request_approval":true}'

Example response

{
  "offer_id": "6b3e90d4-1f87-4a52-8c06-d94a7e215b03",
  "application_id": "9c41b7a2-6e03-4d58-a1f9-3b8d25e07c64",
  "fields": {
    "Base salary": "95000",
    "Start date": "2026-11-16"
  },
  "approval_requested": true,
  "approvers": [
    "Hiring Manager",
    "Finance"
  ]
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is ashby_write → create_offer. Example data.

Schedule it in n8n, Make, Zapier or cron

Ashby tools this automation uses

Cotlet Ashby tools used to create an Ashby offer and send the offer letter
Tool Parameters
get_candidate candidate_id
create_offer application_id, fields, opening_id, request_approval
send_offer_letter offer_id, email_template, request_signature, signatory
All 12 Ashby tools with descriptions

Frequently asked questions

Is it safe to connect Ashby to Cotlet?

Yes. You sign in to Ashby yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Ashby once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

Give your agent access to Ashby.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Ashby.