New hire spend onboarding from Ashby to Ramp

When a candidate is marked hired in Ashby, set up their Ramp account, issue a role-based spend limit and virtual card, and announce them in Slack.

Agentic Task
AshbyRampSlackHR & PeopleFinanceOnboarding AutomationNotifications & Alerts

Build me an agent workflow that provisions Ramp spend access for every new hire the moment they are marked Hired in Ashby, then announces them in Slack.

Trigger: poll Ashby for the candidate_hired event. Each fire gives me an application that just transitioned to Hired.

For each hired candidate, the agent should:

1. Call Ashby "Get Candidate Info" using the candidate id from the trigger payload to pull the candidate's full name, primary email, the role they were hired into, and their team or department.

2. Call Ramp "Invite User" to invite that person to Ramp using their email and assign them to the department that matches their team. Wait on the returned task id until the user is created, since this operation is async-deferred.

3. Decide a sensible monthly spend limit and category restrictions based on role and department. This is the agent's judgement call. As a starting heuristic: sales and customer-facing roles get a higher travel and entertainment limit (think client dinners, flights), engineering and product roles get a software and SaaS-focused limit, marketing gets an ads and events limit, and everyone else gets a modest general-purpose limit. Keep amounts conservative defaults and let the operator tune them later.

4. Call Ramp "Create Limit" with that amount, the right category restrictions, and the new user as the limit's owner. Wait on the returned task id until the limit is created.

5. Call Ramp "Create Virtual Card" tied to the spend limit you just created and assigned to the new user, with a display name like "<First Name> <Last Name> onboarding card". Wait on the returned task id until the card is fully provisioned.

6. Call Slack "Send a Message" to post a welcome message in our onboarding channel (the operator should set the channel id at install time). The message should introduce the new hire by name and role, mention the team they are joining, and confirm that their Ramp account is set up with a virtual card and a role-appropriate spend limit. Keep the tone warm and brief, two or three sentences.

Important details: all three Ramp operations (Invite User, Create Limit, Create Virtual Card) return task ids and complete asynchronously. Poll each task to completion before moving to the next step so we never reference a user, limit, or card that is not yet provisioned. If any step fails, post a short error message in the same Slack channel tagging the operator instead of silently dropping the hire.

The role-to-limit mapping should be expressed in the agent's instructions so an operator can edit it in plain English without touching code.

Additional information

What does this prompt do?
  • Watches Ashby for candidates whose status flips to Hired and reads their name, email, role, and team.
  • Invites the new hire to Ramp under the right department so finance does not have to chase paperwork on day one.
  • Issues a spend limit and virtual card sized to the role, with higher travel and entertainment allowances for sales hires and tighter software budgets for engineers.
  • Posts a welcome message in your onboarding Slack channel introducing the new hire and confirming their Ramp card is ready.
What do I need to use this?
  • An Ashby account with permission to read candidates and applications.
  • A Ramp account with permission to invite users, create spend limits, and issue virtual cards.
  • A Slack workspace with a channel where new-hire announcements should land.
  • A simple mapping of roles or departments to spend limits you are comfortable with (for example, sales gets a higher travel budget, engineering gets a software budget).
How can I customize it?
  • Adjust the role-to-limit mapping so each department gets the right monthly amount and category restrictions.
  • Change the Slack channel where the welcome message lands, or rewrite the message to match your team's voice.
  • Issue a physical card instead of a virtual card, or skip the card and only set up the spend limit.
  • Add a manager approval step before the card is issued for higher-tier roles.

Frequently asked questions

Will this work without a manager approving each new card?
Yes. By default, the workflow issues the card automatically using the limit you mapped to the role. If you want a human in the loop, you can ask the agent to wait for a Slack approval before creating the card.
Can I give different limits to sales versus engineering hires?
That is the main reason this workflow exists. You describe your role and department mapping in plain English, and the agent picks the right limit and category restrictions for each new hire.
What happens if Ramp takes a few seconds to actually create the card?
The agent waits for Ramp to finish provisioning before posting in Slack, so the welcome message only goes out once the card is truly ready to use.
Can I use this if my team announces hires in a different tool?
Yes. Swap Slack for any messaging or email tool we support and the rest of the workflow stays the same.
Does this replace our HRIS?
No. It runs alongside whatever HRIS you use. It is focused on the day-one Ramp setup and the welcome announcement, not on payroll or benefits.

Stop chasing finance for day-one card setup.

Connect Ashby, Ramp, and Slack once, and every new hire walks in with the right spend limit and a card already in their inbox.