Skip to content

[No QA] Update help docs for Release 2: Add Ashby integration - #105246

Open
MelvinBot wants to merge 3 commits into
mainfrom
claude-ashbyHelpDocsRelease2
Open

MelvinBot wants to merge 3 commits into
mainfrom
claude-ashbyHelpDocsRelease2

Conversation

@MelvinBot

Copy link
Copy Markdown
Contributor

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.

  • New article: 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.
  • New article: docs/articles/new-expensify/connections/Connect-a-recruiting-integration-to-Expensify.md. This is the Recruiting counterpart of Connect-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.
  • HR article: the pointer to the Recruiting page now mentions Ashby and links to the new Recruiting article instead of the Greenhouse one.
  • Greenhouse article: updates the import settings error message to match the current UI: Select at least one Job stage or Tag to continue.

UI labels match src/languages/en.ts and src/CONST/MERGE_ATS_PROVIDERS.ts. The new articles follow HELP_AUTHORING_GUIDELINES.md and HELPSITE_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.sh in 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.

  • Verify that no errors appear in the JS console

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.

  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android: Native
    • Android: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I verified any copy / text that was added to the app is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • If new assets were added or existing ones were modified, I verified that:
    • The assets are optimized and compressed (for SVG files, run npm run compress-svg)
    • The assets load correctly across all supported platforms.
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:
    • I verified that all the inputs inside a form are aligned with each other.
    • I added Design label and/or tagged @Expensify/design so the design team can review the changes.
  • If the PR adds or modifies the UI:
    • I asked an AI agent to review the changes for accessibility issues and addressed its findings.
    • I tested with a screen reader (VoiceOver on macOS) and verified all new/changed elements are reachable with a logical focus order.
    • I verified all new/changed elements have meaningful accessible names and roles.
    • I verified state changes are announced (e.g. checked/unchecked, expanded/collapsed, selected).
  • I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari

Co-authored-by: Garrett Knight <garrettmknight@users.noreply.github.com>
@MelvinBot
MelvinBot requested a review from a team October 28, 2026 10:02
@OSBotify

This comment has been minimized.

@garrettmknight garrettmknight left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Users can request a new ATS integration from Concierge outside of the Recruiting page as well.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in edcb4e4. The FAQ now says users can select Ask Concierge on the Recruiting page or message Concierge from anywhere in Expensify. I made the same change to the matching FAQ in the Ashby article.


view run

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**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concierge will notify them when the first sync is complete and they're ready to complete the connection.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in edcb4e4. The steps now say that after users connect, they see Your connection is syncing, and Concierge messages them when the first sync is complete. The Complete setup step comes after that.


view run

2. Next to **Ashby**, select **More (⋮)**, then select **Disconnect**.
3. Select **Disconnect** again to confirm.

Disconnecting Ashby stops future candidate syncs.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in edcb4e4. The disconnect section now says imported candidates stay in the workspace, and users must remove them manually from the Members page.


view run


## What if I don't see my ATS on the Recruiting page?

To request another ATS integration, select **Ask Concierge** on the **Recruiting** page.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a Sync Troubleshooting section and include this information:

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?


view run

…avior, sync troubleshooting

Co-authored-by: Garrett Knight <garrettmknight@users.noreply.github.com>
@MelvinBot

Copy link
Copy Markdown
Contributor Author

I addressed all 6 review comments in edcb4e4 and replied in each thread.

  • Ashby API key: Added a requirement and a new How to create an API key in Ashby section. Step 3 now says to enter the key instead of signing in.
  • Concierge notice: The steps now say Concierge messages you when the first sync is done, before Complete setup.
  • Disconnect: Imported candidates stay in the workspace, and you remove them manually from Members.
  • Sync troubleshooting: Added How to troubleshoot Ashby sync errors with all five errors.
  • Request an ATS: Both FAQs now say you can message Concierge from anywhere.

I couldn't run cspell here, so CI will check spelling.


view run


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.

@garrettmknight garrettmknight Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 9e48064. Step 3 now lists the connection window steps: confirm you're an Ashby admin, confirm the key has read access, choose how far back to sync applications, then enter the key and select Next. I removed the sign-in note here and in the Recruiting overview article.


view run


## 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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to tell them they don't need to sign in to their Ashby account.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 9e48064. The intro now just says Expensify connects to Ashby with an API key.


view run

@OSBotify

This comment has been minimized.

@garrettmknight garrettmknight left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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)**

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the DISABLED and PAUSED errors in 9e48064.


view run

… remove uncommon sync errors

Co-authored-by: Garrett Knight <garrettmknight@users.noreply.github.com>
@MelvinBot

Copy link
Copy Markdown
Contributor Author

I addressed the 3 new review comments in 9e48064 and replied in each thread.

  • Connection window: Step 3 now lists the admin confirmation, read access confirmation, sync window choice, and entering the key.
  • Sign-in note: Removed from the Ashby article and the Recruiting overview article.
  • Uncommon errors: Removed the DISABLED and PAUSED errors from troubleshooting.

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?


view run

@garrettmknight
garrettmknight marked this pull request as ready for review October 28, 2026 11:37
@melvin-bot

melvin-bot Bot commented Oct 28, 2026

Copy link
Copy Markdown

Product reviewer checklist:

  • I have verified the accuracy of the article
    • The article is within a hub that makes sense, and the navigation is correct
    • All processes, screenshots, and examples align with current product behavior.
    • All links within the doc have been verified for correct destination and functionality.
  • I have verified the readability of the article
    • The article's language is clear, concise, and free of jargon.
    • The grammar, spelling, and punctuation are correct.
    • The article contains at least one image, or that an image is not necessary
  • I have verified the formatting of the article
    • The article has consistent formatting (headings, bullet points, etc.) with other HelpDot articles and that aligns with the HelpDot formatting standards.
    • The article has proper text spacing and breaks for readability.
  • I have verified the article has the appropriate tone and style
    • The article's tone is professional, friendly, and suitable for the target audience.
    • The article's tone, terminology, and voice are consistent throughout.
  • I have verified the overall quality of the article
    • The article is not missing any information, nor does it contain redundant information.
    • The article fully addresses user needs.
  • I have verified that all requested improvements have been addressed

For more detailed instructions on completing this checklist, see How do I review a HelpDot PR?

cc @dylanexpensify

@melvin-bot
melvin-bot Bot requested review from dylanexpensify and removed request for a team October 28, 2026 11:38
@melvin-bot

melvin-bot Bot commented Oct 28, 2026

Copy link
Copy Markdown

@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]

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T11:41:37.819424Z 9e48064 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@garrettmknight

Copy link
Copy Markdown
Contributor

@dylanexpensify This isn't ready for prod yet so less of a rush, but once you complete your review, plz hold on merging.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)**

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-actions

Copy link
Copy Markdown
Contributor

HelpDot Documentation Review

Overall Assessment
This PR documents Release 2 of the global ATS import feature by adding Ashby support. It adds two new articles (Connect-Ashby-to-Expensify.md and an umbrella Connect-a-recruiting-integration-to-Expensify.md) and makes two one-line updates to the existing Greenhouse and HR articles. The new content is high quality and closely mirrors the established Greenhouse article structure. It demonstrates strong adherence to the HelpDot governance files across structure, metadata, naming, and AI retrieval.

Scores Summary

  • Readability: 9/10 - Clear, scannable, benefit-focused intros; well-sequenced numbered steps; effective use of a troubleshooting table. Prose is concise and actionable.
  • AI Readiness: 9/10 - Complete YAML frontmatter including internalScope, task-based headings with full feature names, at least one How to heading, correct heading hierarchy (only level-1 and level-2), and realistic keywords and search phrasing.
  • Style Compliance: 9/10 - Correct use of select and choose, the More (vertical ellipsis) three-dots pattern, navigation tabs with position descriptors, bolded navigation paths with lowercase [workspace name] placeholders, proper plan and role casing, and question-based FAQ entries.

Key Findings

  • Both new articles include full, compliant metadata (title, description, keywords, internalScope), use title-case titles with sentence-case section headings, and restrict heading levels to level-1 and level-2 (plus the exempt FAQ heading).
  • Navigation, button naming, three-dots menu, toggles (enable and disable), and plan and role capitalization all follow HELPSITE_NAMING_CONVENTIONS.md.
  • Cross-links are relative, descriptive, and placed in explanatory text rather than inside numbered steps, consistent with the Cross-Linking Standards.
  • Minor: In the modified Greenhouse line (Connect-Greenhouse-to-Expensify.md), the retained wording still reads 'If you click Save'. The intended change (the error string) is correct, but since this line was touched, consider updating 'click' to 'select' to match the naming conventions.
  • Minor: The umbrella Connect-a-recruiting-integration-to-Expensify.md lists supported ATS platforms and links to both provider articles. This is justified now that more than one ATS exists, but keep it an overview/workflow article and watch that it does not drift into a pure navigation hub as more providers are added.
  • Note: The troubleshooting table surfaces backend Merge ATS error strings. These appear to be verbatim UI error messages, so quoting them is appropriate; just confirm they match the production UI exactly.

Recommendations

  • Update the touched Greenhouse line to use 'select' instead of 'click' for full consistency with the naming conventions.
  • Confirm all quoted error messages (for example 'Select at least one Job stage or Tag to continue', 'Cannot connect to multiple ATS platforms', and the Merge ATS strings) match the production UI and src/languages/en.ts exactly.
  • Ensure CI runs createDocsRoutes.sh to register the two new files, as noted in the PR description.

Files Reviewed

  • docs/articles/new-expensify/connections/Connect-Ashby-to-Expensify.md - New, strong compliance across all three criteria.
  • docs/articles/new-expensify/connections/Connect-a-recruiting-integration-to-Expensify.md - New, compliant overview/umbrella article; watch hub drift over time.
  • docs/articles/new-expensify/connections/Connect-Greenhouse-to-Expensify.md - Modified error string (correct); consider swapping 'click' for 'select' on the touched line.
  • docs/articles/new-expensify/connections/Connect-an-HR-integration-to-Expensify.md - Modified pointer now mentions Ashby and links to the new recruiting article; compliant relative link and descriptive anchor.

Note: Detailed line-by-line feedback has been provided as inline comments.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants