Ashby Integration Guide
For Ashby recruiters and workspace admins connecting StormInterview.
What this integration does
StormInterview connects to Ashby in both directions. When a candidate reaches a stage you've mapped in Ashby, StormInterview automatically sends them a structured, AI-scored video interview. Once the interview is scored, the result is written straight back onto the candidate's Ashby profile as a note, a verdict tag, and (optionally) a native scorecard entry, so your team never has to leave Ashby.
There is also a separate, third integration surface: Ashby can start a StormInterview assessment directly from a job's interview plan, without any stage mapping. See Assessments in Ashby below.
Prerequisites
- An Ashby workspace with rights to create an API key and webhooks (Ashby › Admin › API / Integrations).
- A StormInterview account with access to Settings › Integrations.
- At least one interview template in StormInterview to send as the candidate invitation.
Step 1: Get your Ashby API key
From the marketplace tile (recommended)
StormInterview is listed in Ashby's Integrations Marketplace. A key generated from the tile is linked to the StormInterview integration, which makes future audits and support easier.
- In Ashby, go to Admin › Integrations and find StormInterview. If it isn't launched yet in your workspace, enable "Show unlaunched integrations" first.
- Open the tile and click the icon next to the API Key field. Ashby opens its API keys screen with a key already scoped to the StormInterview integration.
- Check the key's Endpoint Permissions. It needs, at minimum:
- Candidates: read + write
- Jobs: read
- Interviews: read + write
- Hiring Process Metadata: read + write
- permission to create webhooks (for automatic registration)
- Copy the key. You'll paste it into StormInterview in the next step.
Manual (fallback)
Don't see the tile? Create a key yourself under Admin › API keys with the same permissions listed above, then continue to Step 2.
Write access is not optional: StormInterview checks for it when you connect (see Step 2). Keep the key private: paste it only into the StormInterview connection screen, never into email or chat.
Step 2: Connect in StormInterview
In StormInterview, go to Settings › Integrations and start the Ashby connection wizard. It has five steps:
- Connect your account. Name the connection, paste the API key from Step 1, and choose which events StormInterview should send to Ashby. At least one event must stay checked.
- Verify the connection. StormInterview tests your key against Ashby in two parts, and the connection only goes green when both succeed: a read check (confirms the key exists and can read) and a write check (a harmless, repeatable tag probe, and it does not tag any real candidate).
What you see What to do Valid: read and write access confirmed Nothing, continue to the next step. API key is invalid Create a new key and paste it again. Key lacks write permission (candidatesWrite) Create a key with candidatesWrite and replace it. Looks temporary / could not reach Ashby Wait a moment and retry: your key is probably fine. - Choose jobs to sync. StormInterview lists the open jobs your key can see; select the ones you want kept in sync.
- Set up automation. Map Ashby stages to StormInterview actions (see Automation rules below). You can also do this later.
- Enable real-time sync. Copy the webhook URL, click Generate for a webhook secret and save it, then click Register webhook automatically. If automatic registration fails (for example, the key can't create webhooks), add the URL manually in Ashby under Admin › Integrations › Webhooks, subscribe to the application stage-change events, and paste the same secret into the Secret Token field.
Automation rules
Automation rules are a when (trigger) plus a then (action). The most common rule sends a StormInterview invite the moment a candidate reaches a given Ashby stage:
- Open your Ashby connection's automation rules.
- When: a candidate enters an ATS stage. Pick the Ashby stage (e.g. Recruiter Screen).
- Then: send a StormInterview interview. Pick your template.
- Save.
You can also trigger on the AI score once an interview is scored: for example, advance a candidate to the next stage when the score is above a threshold, or reject automatically when it's below one. One detail worth knowing: score thresholds compare strictly. A rule set to fire "above 70" does not fire at exactly 70. If you want "70 and up" to count, set the threshold to 69.
Assessments in Ashby
Separately from the stage-based automation above, Ashby can start a StormInterview assessment directly from a job's interview plan. This uses its own key, not the API key from Step 1.
- In StormInterview, go to Settings › Assessment partners and click Generate key. This is the key Ashby uses to call StormInterview (the reverse direction from the API key in Step 1).
- Paste the key into the assessment settings of the StormInterview integration in Ashby (Basic Auth).
The assessment types available in Ashby depend on what your organization has set up. A recruiter only sees what you can actually deliver:
| Assessment type | Appears when |
|---|---|
| Async video interview | Your workspace has at least one active job |
| Language proficiency (CEFR) | Any active job in your workspace has language scoring enabled, and language assessments are enabled for your workspace (contact support to turn this on) |
| Cognitive game assessment | Any active job in your workspace has an active game step |
What you see in Ashby
As soon as a candidate's interview is scored, their Ashby profile gets:
A verdict tag
| Score (0–100) | Tag |
|---|---|
| 85 or higher | StormInterview: Strong Yes |
| 70–84 | StormInterview: Yes |
| 50–69 | StormInterview: Maybe |
| 30–49 | StormInterview: No |
| Below 30 | StormInterview: Strong No |
A note in the candidate feed
Posted by StormInterview, with the overall score and a per-question breakdown of the AI's evaluation.
A native scorecard (optional)
To also have the score land in Ashby's own scorecard, filterable and reportable like any other interview feedback, an admin opens the Ashby connection under Settings › Integrations, clicks edit, and fills in both Feedback form definition ID and Score field path under Scorecard (optional). Both fields are required together: leave both empty to send the note and tag only, or fill in both to also submit the score into the scorecard.
Troubleshooting & FAQ
| Symptom | What to do |
|---|---|
| Connection test says the key lacks write permission | Create an Ashby key with candidatesWrite and reconnect (Step 2). |
| Connection test says the key is invalid | The key was pasted wrong, revoked, or belongs to a different workspace. Create a new one. |
| No automatic invite is sent | Check your automation rule: the stage in the rule must exactly match the stage the candidate enters. |
| Rule won't save | A required field is missing; the save button shows exactly what's needed. |
| No note or tag after scoring | The interview.scored event is turned off in the connection's Events settings. Turn it on. |
| Tag appears but no scorecard | Both the feedback form ID and score field must be filled in (see What you see in Ashby). |
| 401 errors on webhooks | The webhook secret is wrong or expired. Regenerate and re-register it (Step 2). |
FAQ
Do I need to change Events settings for auto-invite to work? No. Auto-invite is inbound (Ashby to StormInterview) and runs off the webhook plus your automation rule. Events control what StormInterview sends outbound.
Can I connect more than one Ashby workspace? Yes: each connection gets its own unique webhook URL, so they never cross.
Does a new score overwrite the old note? No. Each score adds a new, timestamped note, and a tag for the new verdict; earlier verdict tags stay on the profile.
Still stuck? Contact support@storminterview.com.