Repository navigation
Conversation
Co-authored-by: Garrett Knight <garrettmknight@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
garrettmknight
left a comment
There was a problem hiding this comment.
@MelvinBot address all comments
|
|
||
| ## What if I don't see my ATS on the Recruiting page? | ||
|
|
||
| To request another ATS integration, select **Ask Concierge** on the **Recruiting** page. |
There was a problem hiding this comment.
Users can request a new ATS integration from Concierge outside of the Recruiting page as well.
| 4. When the connection completes, select **Complete setup** in the **Connected. Complete setup to import candidates.** message under **Ashby**. You can also select **More (⋮)** next to **Ashby**, then select **Complete setup**. | ||
| 5. On the **Import settings** page, choose which candidates to import, then select **Save**. | ||
|
|
||
| After you connect, you'll see **Your connection is syncing**. The first connection can take some time. Nothing is imported until you choose which candidates to import and select **Save**. |
There was a problem hiding this comment.
Concierge will notify them when the first sync is complete and they're ready to complete the connection.
| 2. Next to **Ashby**, select **More (⋮)**, then select **Disconnect**. | ||
| 3. Select **Disconnect** again to confirm. | ||
|
|
||
| Disconnecting Ashby stops future candidate syncs. |
There was a problem hiding this comment.
Clarify that all candidates who have been imported will remain in the workspace and need to be manually removed if the customer wants them off the workspace.
|
|
||
| ## What if I don't see my ATS on the Recruiting page? | ||
|
|
||
| To request another ATS integration, select **Ask Concierge** on the **Recruiting** page. |
There was a problem hiding this comment.
Add a Sync Troubleshooting section and include this information:
- The ATS didn’t send the data
Error: Merge won't deliver the ATS {Model} model (FAILED)
Merge’s last attempt to pull that data from the ATS failed. We aren’t given the reason, so there are several possible causes:
Likely cause > What the admin does
- API key disabled, revoked or expired > Re-enable or regenerate the key in the ATS, then reconnect in Expensify
- API key is missing a permission, e.g. read access to candidates or applications > Update the key’s permissions in the ATS.
- The ATS was slow or temporarily down (e.g. Ashby timeouts on large accounts) > Nothing. It retries on the next daily sync. If it persists for more than a day, contact Concierge
- A very large account times out on applications > Contact Concierge; we can narrow what gets synced
Tip for the article: if every data type fails at once, it’s almost always the API key. If only one fails (usually Application on a large account), it’s usually volume or an outage.
- That data is turned off
Error: Merge won't deliver the ATS {Model} model (DISABLED)
The data type is switched off for this connection on Merge’s side. Admins can’t fix this themselves, so the action is “contact Concierge” and we enable it in Merge.
- Syncing is paused
Error: Merge won't deliver the ATS {Model} model (PAUSED)
Merge paused syncing for the whole connection. This is usually account-level, e.g. after repeated failures or an account change. The action is to contact Concierge.
- Sync took too long
Error: Timed out waiting for Merge ATS model syncs to complete
The ATS was still sending data after 15 minutes. This is common on the first sync or on large accounts. The action is to wait for the next sync. If it keeps happening, contact Concierge.
- Connection needs reconnecting
Merge linked account requires reconnect
Expensify’s connection to Merge is no longer valid, e.g. the connection was removed on Merge’s side. The action is to disconnect and reconnect the ATS in Expensify. This is the only error that shows the built-in reconnect message today.
There was a problem hiding this comment.
Added in edcb4e4 as How to troubleshoot Ashby sync errors, placed before the FAQ. It includes:
- The tip about every data type failing compared with a single one failing.
- All five errors, each with its meaning and what the admin should do. The FAILED error uses a cause and action table.
Two notes:
- I used bold error labels instead of
###headings, because the help guidelines require every heading to be task-based. - I replaced
{Model}with[data type]to match the article's placeholder style.
These errors aren't specific to Ashby. Do you want the same section in the Greenhouse article too?
…avior, sync troubleshooting Co-authored-by: Garrett Knight <garrettmknight@users.noreply.github.com>
|
I addressed all 6 review comments in edcb4e4 and replied in each thread.
I couldn't run cspell here, so CI will check spelling. |
|
|
||
| 1. In the navigation tabs (on the left on web, on the bottom on mobile), select **Workspaces > [workspace name] > Recruiting**. | ||
| 2. Next to **Ashby**, select **Connect**. | ||
| 3. In the connection window that opens, enter your Ashby API key. You don't sign in to your Ashby account. |
There was a problem hiding this comment.
There are additional steps in the connection window:
- Confirm you’re an Ashby admin. Only admins can create the API key.
- Confirm your API key has read access.
- Choose how far back to sync applications. By default, Expensify syncs applications modified in the last year. If you only need recent candidates, choose a shorter window. Less data means a faster sync.
- Enter your API key and click Next.
Also, we don't need to tell them they don't need to sign in to their Ashby account.
There was a problem hiding this comment.
|
|
||
| ## How to create an API key in Ashby | ||
|
|
||
| Expensify connects to Ashby with an API key instead of your Ashby sign-in. Create the key before you connect, or while the connection window is open. |
There was a problem hiding this comment.
We don't need to tell them they don't need to sign in to their Ashby account.
This comment has been minimized.
This comment has been minimized.
garrettmknight
left a comment
There was a problem hiding this comment.
@MelvinBot address all comments
| | Ashby was slow or temporarily down, such as timeouts on large accounts | No action is needed. Expensify tries again on the next daily sync. If the error lasts more than a day, contact Concierge. | | ||
| | A very large account times out on applications | Contact Concierge to narrow what gets synced. | | ||
|
|
||
| **Error: Merge won't deliver the ATS [data type] model (DISABLED)** |
There was a problem hiding this comment.
Remove these. They're uncommon.
Error: Merge won’t deliver the ATS [data type] model (DISABLED)
That data type is turned off for your connection. You can’t fix this yourself. Contact Concierge to turn it on.
Error: Merge won’t deliver the ATS [data type] model (PAUSED)
Syncing is paused for the whole connection. This usually happens at the account level, for example after repeated failures or an account change. Contact Concierge.
… remove uncommon sync errors Co-authored-by: Garrett Knight <garrettmknight@users.noreply.github.com>
|
I addressed the 3 new review comments in 9e48064 and replied in each thread.
Two questions from last round are still open: is the Ashby button New or New +, and should the troubleshooting section go in the Greenhouse article too? |
Product reviewer checklist:
For more detailed instructions on completing this checklist, see How do I review a HelpDot PR? |
|
@dylanexpensify Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
A preview of your ExpensifyHelp changes have been deployed to https://becb22f3.helpdot.pages.dev ⚡️ Updated articles: |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@dylanexpensify This isn't ready for prod yet so less of a rush, but once you complete your review, plz hold on merging. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e48064c04
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| --- | ||
|
|
||
| ## How to troubleshoot Ashby sync errors |
There was a problem hiding this comment.
Split troubleshooting out of the setup article
Move this troubleshooting workflow into a dedicated article and cross-link it from the setup page. This new article combines connection setup, sync-error troubleshooting, and workspace-design guidance (the separate-workspace FAQ), which directly violates the mandatory one-primary-workflow and setup/troubleshooting/workspace-design separation rules in docs/HELP_AUTHORING_GUIDELINES.md; keeping them together also dilutes search retrieval for both setup and error-resolution queries.
Useful? React with 👍 / 👎.
|
|
||
| 1. In the navigation tabs (on the left on web, on the bottom on mobile), select **Workspaces > [workspace name] > Recruiting**. | ||
| 2. Next to your ATS, select **Connect**. | ||
| 3. In the connection window that opens, follow the prompts to connect your ATS. For Ashby, you enter an Ashby API key. Learn [how to create an API key in Ashby](/articles/new-expensify/connections/Connect-Ashby-to-Expensify#how-to-create-an-api-key-in-ashby). |
There was a problem hiding this comment.
Move the cross-link out of the numbered step
Move the API-key article link into an explanatory paragraph before or after the procedure. The mandatory link-formatting rules in docs/HELP_AUTHORING_GUIDELINES.md explicitly prohibit links inside numbered step instructions because they interrupt the procedural flow, so this newly added step does not comply with the HelpDot authoring requirements.
Useful? React with 👍 / 👎.
| --> | ||
|
|
||
| If you click **Save** without turning on **Job stages** or **Tags**, you'll see **Enable Job stages or Tags to continue**. Turning on **Offices** by itself isn't enough. | ||
| If you click **Save** without turning on **Job stages** or **Tags**, you'll see **Select at least one Job stage or Tag to continue**. Turning on **Offices** by itself isn't enough. |
There was a problem hiding this comment.
Naming/style violation (HELPSITE_NAMING_CONVENTIONS.md): This modified line still uses prohibited phrasing. Use select instead of "click" for activating a button, and "enable" instead of "turning on" for a toggle. Suggested: "If you select Save without enabling Job stages or Tags, you'll see Select at least one Job stage or Tag to continue. Enabling Offices by itself isn't enough." (The new Ashby article already uses this correct phrasing at its equivalent line.)
|
|
||
| **Tip:** If every data type fails at once, the cause is almost always the API key. If only one data type fails, such as **Application** on a large account, the cause is usually volume or a temporary Ashby outage. | ||
|
|
||
| **Error: Merge won't deliver the ATS [data type] model (FAILED)** |
There was a problem hiding this comment.
AI readiness / scope (HELP_AUTHORING_GUIDELINES.md Sections 1 and 6): The article mixes the connect/setup workflow with an extensive troubleshooting reference (multiple error codes plus a table). The spec says "Do not combine: Setup + troubleshooting" and "one primary workflow per article." Consider moving this troubleshooting content into a dedicated "Troubleshoot Ashby sync errors" article and cross-linking to it, keeping this article focused on connecting Ashby.
|
HelpDot Documentation Review Overall Assessment Scores Summary
Key Findings
Recommendations
Files Reviewed
Note: Detailed line-by-line feedback has been provided as inline comments. |
Explanation of Change
Release 2 of global ATS import adds Ashby to the workspace Recruiting page. This PR documents it, and adds the overarching Recruiting article now that there's more than one ATS to connect.
docs/articles/new-expensify/connections/Connect-Ashby-to-Expensify.md. It follows the Greenhouse article's structure: who can connect (Control plan, workspace admin), how to connect, Import settings, what happens after a sync, Default approver, approval workflows, Sync now, Disconnect, and an FAQ. The Ashby-specific part is Advanced approval: the First approver can be Recruiter, Hiring manager, or Recruiting coordinator. Custom Ashby hiring team roles aren't supported. If no one on the hiring team has the chosen role, expenses go to the final approver, or to the workspace owner if none is set.docs/articles/new-expensify/connections/Connect-a-recruiting-integration-to-Expensify.md. This is the Recruiting counterpart ofConnect-an-HR-integration-to-Expensify.md. It lists the supported ATS platforms (Ashby and Greenhouse), covers the shared connect flow, and links to each provider article.UI labels match
src/languages/en.tsandsrc/CONST/MERGE_ATS_PROVIDERS.ts. The new articles followHELP_AUTHORING_GUIDELINES.mdandHELPSITE_NAMING_CONVENTIONS.md, for example select instead of click and More (⋮) for the three dots menu.AI tests: docs-only change. I couldn't run
createDocsRoutes.shin my environment, so CI will run it. No redirects changed, and both new files are in an existing hub folder.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/673061
PROPOSAL:
Tests
// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review"
// Please describe what tests you performed that validates your changed worked.
Offline tests
QA Steps
// TODO: The human co-author must fill out the QA tests you ran before marking this PR as "ready for review".
// Please describe what QA needs to do to validate your changes and what areas do they need to test for regressions.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari