Skip to content

[No QA] Copy platform-agnostic integrations to Connections hub#88762

Merged
lschurr merged 2 commits intomainfrom
helpsite-copy-connections-articles
Apr 29, 2026
Merged

[No QA] Copy platform-agnostic integrations to Connections hub#88762
lschurr merged 2 commits intomainfrom
helpsite-copy-connections-articles

Conversation

@stephanieelliott
Copy link
Copy Markdown
Contributor

@stephanieelliott stephanieelliott commented Apr 25, 2026

See internal discussion: https://expensify.slack.com/archives/C07HPDRELLD/p1776071018876509?thread_ts=1776059597.592969&cid=C07HPDRELLD

NOTE: @lschurr no need to go through all these articles this is a straight copy job, moving over the platform-agnostic articles from Classic over to NewDot.

Also these articles will be fine tuned later, so ignoring the bot comments on this issue.

@github-actions github-actions Bot changed the title Copy platform-agnostic integrations to Connections hub [No QA] Copy platform-agnostic integrations to Connections hub Apr 25, 2026
@stephanieelliott stephanieelliott marked this pull request as ready for review April 25, 2026 03:01
---
title: Egencia
description: Learn how to integrate Egencia with Expensify to automatically import travel booking receipts and expenses.
keywords: [Egencia, travel booking, Expensify Classic]
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.

Missing YAML metadata: The internalScope field is required per HELP_AUTHORING_GUIDELINES.md Section 3. Add an internalScope line describing the audience and scope, e.g.:

internalScope: Audience is Workspace Admins. Covers integrating Egencia with Expensify for automated travel expense imports. Does not cover Egencia account setup.

description: Learn how to integrate Egencia with Expensify to automatically import travel booking receipts and expenses.
keywords: [Egencia, travel booking, Expensify Classic]
---

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.

Missing # article title: Every article must have exactly one # heading as the article title (matching the YAML title field). This file jumps straight into body text without a # Egencia heading. Add # Egencia after the YAML frontmatter, before the introductory paragraph.

keywords: [Egencia, travel booking, Expensify Classic]
---


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.

Wrong introductory text: This paragraph describes the Expensify API and mentions NetSuite, Xero, and Workday -- it appears to be copied from the Expensify-API article rather than written for Egencia. Replace with an introduction relevant to the Egencia integration.

Expensify’s API helps connect your account to third-party tools like NetSuite, Xero, and even internal systems like Workday. This guide includes tips, usage examples, and common troubleshooting questions — many sourced from customers who’ve done it before.

---

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.

Multiple # headings / forbidden heading: Only one # heading (the article title) is allowed, plus an optional # FAQ. # Getting Started is both an extra # heading and a generic/forbidden heading name. Demote to ## and rename to a task-based heading, e.g. ## How to get started with the Egencia integration.

**Note:** The API is a self-serve tool. Your internal team will need to manage setup and maintenance. While Concierge can assist with basic troubleshooting, hands-on support may vary by team or account manager.

[Egencia](https://www.egencia.com/en/) is a business travel booking platform. Integrating Egencia with Expensify allows travel bookings to be automatically imported as expenses, ensuring seamless expense tracking.

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.

Non-task-based heading: ## Requirements is a noun-only heading. Rename to a task-based heading starting with an action verb or question word, e.g. ## Who can use the Egencia integration.

- A **verified Domain**

---

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.

Multiple # headings / non-task-based heading: # How Egencia Works with Expensify is an additional # heading (only one allowed). Demote to ##. The heading itself is acceptable as a task-based heading at ## level: ## How Egencia works with Expensify.

- Travel details are also accessible in the **Trips** section of the Expensify mobile app.

---

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.

Multiple # headings / non-task-based heading: # Enabling the Egencia Feed is another extra # heading. Demote to ## and rephrase as task-based: ## How to enable the Egencia feed.

**Note:** Egencia controls the feed setup process.

---

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.

Multiple # headings / non-task-based heading: # Connecting a Central Purchasing Account is another extra # heading. Demote to ## and rephrase as task-based: ## How to connect a central purchasing account.


# Connecting a Central Purchasing Account
If your company uses a **central purchasing account**, you can forward all Egencia booking receipts to a single Expensify account.

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.

Forbidden heading pattern: ## Steps to Enable a Central Purchasing Account uses a noun-phrase pattern ("Steps to...") rather than a task-based verb form. Rename to ## How to enable a central purchasing account.

---
title: Expensify API
description: User-sourced tips and tricks for using Expensify’s API.
keywords: [Expensify Classic, API]
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.

Missing YAML metadata: The internalScope field is required per HELP_AUTHORING_GUIDELINES.md Section 3. Add an internalScope line, e.g.:

internalScope: Audience is Workspace Admins and developers. Covers tips and troubleshooting for using Expensify's API. Does not cover direct accounting integrations.


---

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

Multiple # headings / forbidden heading: # Getting Started is both an extra # heading (only one # allowed -- the article title -- plus optional # FAQ) and a generic/forbidden heading name per HELP_AUTHORING_GUIDELINES.md Section 2. Demote to ## and rename to a task-based heading, e.g. ## How to get started with the Expensify API.

description: User-sourced tips and tricks for using Expensify’s API.
keywords: [Expensify Classic, API]
---

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.

Missing # article title: The article body starts without a # Expensify API heading matching the YAML title. Every article must have exactly one # heading as the article title. Add # Expensify API before the introductory paragraph.

Going over this will return a `429` error.

## What is a Policy ID?

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.

Terminology violation: Use "Workspace" instead of "Policy" in user-facing documentation. "Policy ID" should be referred to as "Workspace ID". Rename this heading to ## What is a Workspace ID? and update the body text accordingly.

```
Your Workspace ID is `0810E551A5F2A9C2`.

## Can I use the parent type `file` to export workspace/policy data?
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.

Terminology violation: Use "workspace" instead of "policy" in user-facing text. Change "workspace/policy data" to "workspace data" and update the body text to use "workspace" consistently instead of "policy information" / "policy data".

If you need this access, contact concierge@expensify.com and reference this help page.

# Using Postman

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.

Multiple # headings / non-task-based heading: # Using Postman is an extra # heading and is not task-based. Demote to ## and rephrase: ## How to use Postman with the Expensify API.


Many customers use Postman to help them build out their APIs. Below are some guides contributed by our customers. Please note, in all cases, you will need to first generate your authentication credentials, the steps for which can be found [here](https://integrations.expensify.com/Integration-Server/doc/#introduction) and have them ready:

## Download expenses from a report as a CSV file
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.

Non-task-based heading: ## Download expenses from a report as a CSV file is a noun-phrase/topic heading. Rephrase to start with a verb or question word: ## How to download expenses from a report as a CSV file.


**Step 1: Get the ID of a report you want to export in Expensify**

Find the ID by opening the expense report and clicking Details at the top right corner of the page. At the top of the menu, the ID is provided as the “Long ID.”
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.

Forbidden heading pattern: **Step 1: ...** uses a "Step N" pattern which is forbidden per HELP_AUTHORING_GUIDELINES.md Section 2. Use numbered steps within a section instead of step-based sub-headings. The same applies to Step 2, Step 3, and Step 4 below.


**Step 2: Export (generate) a "Report" as a CSV file**
{% include info.html %}
For this you'll use the Documentation under [Report Exporter](https://integrations.expensify.com/Integration-Server/doc/#export).
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.

Liquid include syntax: {% include info.html %} and {% include end-info.html %} are Liquid template tags that may not render correctly in the new-expensify docs context. Verify these are supported, or replace with standard Markdown formatting.


*Thank you to our customer Frederico Pettinella who originally wrote and shared this guide.*

## Use Advanced Employee Updater API with Postman
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.

Non-task-based heading: ## Use Advanced Employee Updater API with Postman should start with "How to": ## How to use the Advanced Employee Updater API with Postman.

---
title: Global VaTax Integration
description: Learn how to connect Expensify with Global VaTax to simplify international VAT refunds for your business expenses.
keywords: [Expensify CLassic, Global VaTax, VAT refund, international expenses, tax compliance]
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.

Typo in YAML metadata: keywords contains "Expensify CLassic" -- should be "Expensify Classic" (lowercase "l").

title: Global VaTax Integration
description: Learn how to connect Expensify with Global VaTax to simplify international VAT refunds for your business expenses.
keywords: [Expensify CLassic, Global VaTax, VAT refund, international expenses, tax compliance]
---
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.

Missing YAML metadata: The internalScope field is required per HELP_AUTHORING_GUIDELINES.md Section 3. Add an internalScope line describing the audience and scope.

keywords: [Expensify CLassic, Global VaTax, VAT refund, international expenses, tax compliance]
---


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.

Missing # article title: Every article must have exactly one # heading as the article title matching the YAML title field. Add # Global VaTax Integration before the introductory paragraph.

---

# VAT-Recoverable Expenses

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.

Multiple # headings / non-task-based heading: # VAT-Recoverable Expenses is an extra # heading (only one allowed) and is a noun-only heading. Demote to ## and rephrase as task-based: ## What expenses are eligible for VAT recovery.


---

# How VAT Refunds Work
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.

Multiple # headings: # How VAT Refunds Work is an extra # heading. Demote to ## How VAT refunds work with Global VaTax.

- You must be an **admin** of a **Group Workspace** with a **Collect or Control** subscription.
- You must have **Administrator access** to the Google Apps Admin console.

> **Note:** Google Apps SSO is different from using Google as an Identity Provider for **SAML SSO**, which restricts domain access. If you need **Google SAML SSO**, follow [Google’s guide](https://support.google.com/a/answer/7371682). You can enable both simultaneously.
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.

Forbidden generic heading: ## Requirements: is a generic/noun-only heading (forbidden per HELP_AUTHORING_GUIDELINES.md Section 2). Headings must start with an action verb or question word. Consider: ## Who can enable Google Apps SSO with Expensify.


To integrate Expensify with your Google Apps domain and add an **Expenses** shortcut to your Google navigation bar:

1. **Sign in** to your **Google Apps Admin console** as an administrator.
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.

Structural violation: # How to Enable Expensify on Google Apps uses # heading level, but only one # heading is allowed (the article title). This file is missing a # Google Apps SSO title heading matching the YAML title. Both # How to Enable... (line 22) and # How to Sync... (line 36) must be demoted to ##.


1. **Complete the Google Apps installation steps** above.
2. Log in to [Expensify](https://www.expensify.com/).
3. Go to **Settings > Workspaces > Group** or [click here](https://www.expensify.com/admin_policies?param={"section":"group"}).
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.

Cross-linking violation: Full URLs like https://www.expensify.com/ and https://www.expensify.com/admin_policies?param=... should not be used. Per HELP_AUTHORING_GUIDELINES.md Section 7, use relative links only for internal Expensify references. Additionally, links should not be placed inside numbered step instructions (line 41).

---
title: Greenhouse
description: Learn how to integrate Greenhouse with Expensify to automatically send candidates for seamless reimbursement.
keywords: [Greenhouse, Expensify Classic, integration, candidate reimbursement]
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.

Missing metadata: The keywords array must include "New Expensify" since this article lives under new-expensify/. The required internalScope field is also missing from the YAML frontmatter.


---

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

Forbidden generic heading / structural violation: # Prerequisites is a generic heading (forbidden per HELP_AUTHORING_GUIDELINES.md Section 2 -- similar to "Requirements"). It also uses # level when only the title heading should. The file is missing a # Greenhouse title heading. Consider demoting to ## Who can connect Greenhouse to Expensify. The same # issue applies to # Connect Greenhouse to Expensify (line 22) and # Sending Candidates from Greenhouse to Expensify (line 48) -- demote both to ##.


# Connect Greenhouse to Expensify

## Step 1: Establish the Connection
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.

Forbidden heading pattern: ## Step 1: Establish the Connection, ## Step 2: Create the WebHook (line 30), and ## Step 3: Create the Custom Candidate Field (line 37) all use the forbidden "Step 1/2/3" pattern. Per HELP_AUTHORING_GUIDELINES.md, headings like "Step 1" are explicitly forbidden. Instead, use numbered steps within a single ## How to connect Greenhouse to Expensify section, or use task-based sub-headings like ## How to establish the Greenhouse connection, ## How to create the webhook, ## How to create the custom candidate field.


# Sending Candidates from Greenhouse to Expensify

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

Non-task-based headings: ## In Greenhouse (line 50) and ## In Expensify (line 59) are platform-only labels, which are forbidden. Headings must describe an action or question. Consider: ## How to send a candidate from Greenhouse to Expensify and ## How to verify the candidate in Expensify.

---
title: Indirect Accounting Integrations
description: Learn how to export expenses and reports using a flat-file template compatible with your accounting software.
keywords: [Expensify Classic, accounting integration, export template, indirect integration, flat-file import]
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.

Missing metadata: The keywords array must include "New Expensify" since this article lives under new-expensify/. The required internalScope field is also missing from the YAML frontmatter.


---

# Set Up an Indirect Accounting Integration
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.

Structural violation: # Set Up an Indirect Accounting Integration uses # heading level but only one # heading is allowed (the article title). The file is missing a # Indirect Accounting Integrations title heading matching the YAML title. This and # Exporting Reports for Your Accounting Software (line 33) must be demoted to ##.


# Set Up an Indirect Accounting Integration

## From the Home 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.

Non-task-based heading: ## From the Home Page (line 16) and ## From Workspace Settings (line 24) are location-based labels, not task-based. Headings must start with an action verb or question word. Consider: ## How to set up an indirect integration from the Home page and ## How to set up an indirect integration from Workspace settings.


Expensify provides two ways to export reports:

## Export a Single Report
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.

Non-task-based headings: ## Export a Single Report (line 37) and ## Export Multiple Reports (line 42) are noun-phrase headings that don't start with an action verb or question word. Consider: ## How to export a single report and ## How to export multiple reports.

---
title: Lyft
description: Learn how to connect your Lyft Business Profile with Expensify to automatically import receipts for work-related rides.
keywords: [Lyft, Expensify Classic, Business Profile, receipts, integration, expense management]
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.

Missing metadata: The keywords array must include "New Expensify" since this article lives under new-expensify/. The required internalScope field is also missing from the YAML frontmatter.


Expensify seamlessly integrates with Lyft, allowing you to automatically import receipts for work-related rides into your Expensify account.

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

Structural violation: The YAML title is "Lyft", so the article must have exactly one # Lyft heading as the title. Instead, this file uses # Connect a Lyft Business Profile to Expensify (line 10) and # Set Up Lyft for Business with Expensify (line 24) as #-level headings. Add a # Lyft title heading and demote both of these to ##.

---
title: Navan
description: Learn how to connect Navan with Expensify to automatically sync travel receipts for easy expense reporting.
keywords: [Navan, Expensify Classic, travel integration, expense automation, flight receipts]
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.

Missing metadata: The keywords array must include "New Expensify" since this article lives under new-expensify/. The required internalScope field is also missing from the YAML frontmatter.

---

Navan users can link their Expensify accounts to automatically sync flight receipts, making expense reporting seamless and efficient.

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.

Structural violation: The YAML title is "Navan", so the article must have a # Navan title heading. Instead, # Connect Navan to Expensify (line 8) is the first # heading. Add a # Navan title heading before the intro paragraph and demote # Connect Navan to Expensify to ## How to connect Navan to Expensify.


title: Connecting Perk to Expensify
description: Learn how to integrate Perk with Expensify to automate travel expense tracking.
keywords: [Expensify Classic, Perk integration, connect Perk to Expensify, Travel Perk, travel booking sync, receipts@expensify.com, travel expenses, Receipt upload problem]
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.

Keywords issue: The keywords array references "Expensify Classic" but this article lives under new-expensify/. It should include "New Expensify" instead. Also, internalScope explicitly says "Does not cover ... New Expensify" -- if this article is being placed in the New Expensify section, the scope and keywords should reflect that.

---

# Connecting Perk to Expensify

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.

Structural violation: # Connecting Perk to Expensify is a second # heading (the title # Connecting Perk to Expensify from the YAML frontmatter should be the only # heading). This heading duplicates the title. The content below it should flow under the title heading directly, or this should be demoted to a ## task-based heading. The same issue applies to # FAQ which is acceptable, but check that no other # headings exist beyond the title and FAQ.

---
title: Rippling
description: Learn how to sync employee and expense data between Expensify and Rippling for seamless management.
keywords: [Rippling, Expensify integration, employee sync, expense reports, payroll]
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.

Missing metadata: The keywords array must include "New Expensify" since this article lives under new-expensify/. The required internalScope field is also missing from the YAML frontmatter.


Expensify’s integration with Rippling allows you to sync employee and expense data effortlessly. This connection helps automate employee management, simplify access, and streamline expense reporting.

# Benefits of the Rippling Integration
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.

Structural violation / non-task-based heading: # Benefits of the Rippling Integration is a noun-only heading (forbidden) and uses # heading level when only the title should. The file is missing a # Rippling title heading matching the YAML title. Both # Benefits of the Rippling Integration (line 9) and # How to Connect Expensify to Rippling (line 17) must be demoted to ##. Suggested rewrite for line 9: ## What the Rippling integration does.

---
title: Travel Receipt Integrations
description: Learn how to use pre-built or custom integrations to automatically track travel expenses in Expensify.
keywords: [Expensify Classic, travel receipts, integrations, Bolt Work, SpotHero, Grab, KAYAK, email receipts]
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.

Missing metadata: The keywords array must include "New Expensify" since this article lives under new-expensify/. The required internalScope field is also missing from the YAML frontmatter.

Expensify’s receipt integrations allow merchants to automatically send receipts directly to a member’s Expensify account. When a merchant emails a receipt to a member and Cc's **receipts@expensify.com**, Expensify creates a transaction in the account of the email recipient.

You can integrate receipts using Expensify’s pre-built integrations or by setting up a custom receipt integration.

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.

Structural violation: This file has many #-level headings but is missing a # Travel Receipt Integrations title heading matching the YAML title. Only one # heading (the title) plus optional # FAQ are allowed. All of these must be demoted to ##: # Use a Pre-Built Travel Integration (line 11), # KAYAK for Business (line 59), # Build Your Own Receipt Integration (line 77), # Using the Integration (line 91).


---

# Use a Pre-Built Travel Integration
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.

Non-task-based headings: ## Bolt Work (line 14), ## SpotHero (line 29), ## Grab (line 38), ## Delta for Business (line 52) are all noun-only/platform-only headings, which are forbidden. Headings must start with an action verb or question word. Consider: ## How to connect Bolt Work to Expensify, ## How to connect SpotHero to Expensify, ## How to connect Grab to Expensify, ## How to connect Delta for Business to Expensify.

9. Select **Expensify**, then tap **Save**.

**Note:** When booking a trip, select **business** instead of **personal** to ensure the receipt is sent to Expensify.

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.

Generic/non-task-based headings: ## Admin Setup (line 61) and ## Traveler Setup (line 70) are generic headings similar to the forbidden "Setup" pattern. Headings must start with an action verb or question word. Consider: ## How to set up KAYAK for Business as an admin and ## How to set up KAYAK for Business as a traveler.

---

# Build Your Own Receipt Integration

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.

Generic heading: # Using the Integration is vague and generic. It does not include the feature name and is not task-based. Per HELP_AUTHORING_GUIDELINES.md, headings must be explicit and feature-specific. Consider (as ##): ## How to use a receipt integration with Expensify.

---
title: TriNet
description: Learn how to integrate TriNet with Expensify to automatically sync employees and manage approvals.
keywords: [Expensify Classic, TriNet, Zenefits, Expensify, HR integration, employee sync, approval workflow]
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.

Missing metadata: The keywords array must include "New Expensify" since this article lives under new-expensify/. The required internalScope field is also missing from the YAML frontmatter.

- **Deactivate Expensify accounts** when employees are removed from TriNet.

---

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.

Forbidden generic heading / structural violation: # Prerequisites is a generic heading (forbidden, similar to "Requirements"). It also uses # level when only the title heading should. The file is missing a # TriNet title heading matching the YAML title. Consider demoting to ## Who can connect TriNet to Expensify. The same # issue applies to # Connect TriNet to Expensify (line 23) -- demote to ##.

- TriNet will sync all employees to **one** Expensify workspace. If your company uses multiple workspaces, you can select which one to connect during setup.

---

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.

Forbidden heading pattern: ## Step 1: Enable the Integration (line 25) and ## Step 2: Configure the Approval Workflow (line 33) use the forbidden "Step 1/2" pattern. Per HELP_AUTHORING_GUIDELINES.md, "Step 1"-style headings are explicitly forbidden. Instead, use numbered steps within a single ## How to connect TriNet to Expensify section, or use task-based headings like ## How to enable the TriNet integration and ## How to configure the TriNet approval workflow.

@OSBotify
Copy link
Copy Markdown
Contributor

🚀 Deployed to staging by https://github.com/lschurr in version: 9.3.65-0 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

@OSBotify
Copy link
Copy Markdown
Contributor

OSBotify commented May 4, 2026

🚀 Deployed to production by https://github.com/mountiny in version: 9.3.65-6 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants