close
Save up to $330 | Beat the Heat with Coolest Deals | 00 : 00 : 00 : 00 | Grab the Deal
FlexTable - Sheets to WP Table Live Sync

How to Create a WordPress Staff Directory from Google Sheets (2 Methods)

How to Create a WordPress Staff Directory from Google Sheets

Managing a staff directory on WordPress usually means updating a page manually every time someone joins, leaves, or changes roles. Connecting your directory to Google Sheets removes that problem entirely. Update the sheet, and your WordPress employee directory updates automatically.

This guide shows you two ways to build a WordPress staff directory from Google Sheets using FlexTable, a WordPress plugin by WPPOOL that syncs Google Sheets data directly into responsive tables on your site.

What Is a WordPress Staff Directory?

A WordPress staff directory is a structured list of team members displayed on your website. It typically includes each person’s name, job title, department, email, and sometimes a profile photo.

Most sites build these manually using page builders or custom code. The problem is that keeping them up to date requires someone to log into WordPress every time the team changes. A Google Sheets-powered WordPress employee directory fixes this by letting non-technical staff update the sheet directly.

Why Use Google Sheets for Your WordPress Staff Directory?

  • Anyone on the team can update it, no WordPress access required
  • Changes reflect on the site automatically through live sync
  • Easy to manage large teams with sorting, filters, and multiple tabs
  • No database setup or custom post types needed
  • Free to use with a basic FlexTable plan

What You Need Before You Start

  • A WordPress site
  • A Google Sheet with your staff data (Name, Title, Department, Email, Photo URL, etc.)
  • FlexTable plugin installed on WordPress (installation guide here)

How to Set Up Your Staff Directory

The process has four parts: preparing your Google Sheet, installing FlexTable, creating the table inside WordPress, and embedding it on a page. Each step takes just a couple of minutes.

Step 1: Prepare Your Google Sheet

Open Google Sheets and create a new spreadsheet. Add column headers in the first row. A basic staff directory might include:

  • Name
  • Job Title
  • Department
  • Email
  • Phone
  • Photo URL (link to a hosted image)
  • Or whatever employee information required

Fill in your team data row by row. Once done, click Share in the top right, set access to Anyone with the link can view, and copy the sheet URL.

Step 2: Install and Activate FlexTable

Go to your WordPress dashboard and navigate to Plugins > Add New. Search for Sheets to WP Table Live Sync and install the plugin by WPPOOL. Activate it once installed.

If you run a network of sites, FlexTable also supports WordPress multisite. See the multisite setup guide for details.

Step 3: Create a New Table

In your WordPress dashboard, go to FlexTable > Add New Table. Paste your Google Sheets URL into the connection field. FlexTable fetches your sheet data and displays a preview. Configure which columns to show and set your preferred table style. Full steps are covered in the new table creation guide.

Step 4: Embed the Directory on Your Page

Once your table is saved, FlexTable generates a shortcode (e.g., [flextable id=”1″]). Copy it and paste it into any WordPress page or post. You can also use the FlexTable Gutenberg block or Elementor widget to add it without a shortcode. See the full shortcode guide for more options.

Two Ways to Display Your WordPress Staff Directory

FlexTable offers two display approaches depending on who should see what. Choose based on whether your directory is public or access-controlled.

Method 1: Generalized View (Public Directory with Filtering)

Best for: Public-facing staff pages where all visitors can see the full team and filter by department or role.

This is the standard approach for a public WordPress staff directory. The full team list is visible to anyone who visits the page, with built-in search and column filtering so visitors can find the person they need quickly.

How it works:

  • Connect your Google Sheet and create the table as described in the setup steps above
  • In FlexTable’s table settings, enable the Search Bar and Column Filters
  • Visitors can type a name, or filter the directory by department or job title
  • The table updates automatically whenever you edit the Google Sheet

You can also set up advanced filtering rules, such as dropdown filters per column or combined filter logic. See the full FlexTable filtering setup guide for all available options.

Method 2: Protected View (User-Specific Display)

Best for: Internal HR portals or staff intranets where each logged-in employee should only see their own profile or department data.

This method uses FlexTable’s user-specific display feature. Instead of showing the full directory to everyone, it matches the logged-in WordPress user to a specific row or set of rows in your Google Sheet and shows only that data.

How it works:

  • Add a column to your Google Sheet (e.g., User Email) and fill it with each team member’s WordPress login email
  • In FlexTable’s settings, enable User-Specific Display and map it to your email column
  • When a logged-in user visits the page, FlexTable compares their WordPress email to the sheet column
  • Only the rows matching that email are displayed — other employees’ data stays hidden

This approach is useful for employee self-service pages, HR dashboards, or any directory where privacy between team members matters. Full configuration steps are in the user-specific display guide.

Tips to Make Your Staff Directory More Useful

  • Add a photo column: Store team headshots as publicly accessible URLs in your sheet. FlexTable renders them as images inside the table automatically. Learn how to insert WordPress tables using Google Sheets with image columns.
  • Make it responsive: FlexTable tables are responsive by default and support horizontal scrolling and collapsible rows on mobile. See the responsive WordPress table guide for more options.
  • Use multiple tabs: If your team is large, split by department across separate Google Sheets tabs and create one FlexTable table per tab.
  • Keep the sheet tidy: Sort your Google Sheet alphabetically by name or department so the directory loads in a clean order. You can also embed Google Sheets into WordPress for other data types beyond staff lists.

Frequently Asked Questions

Is FlexTable free to use for a staff directory?

Yes. The free version of FlexTable supports up to 100 rows and 10 tables, which covers most small to mid-sized team directories. Paid plans unlock unlimited rows, additional themes, and advanced features like export options and custom CSS.

Does the staff directory update automatically?

Yes. FlexTable syncs with your Google Sheet on a schedule or in real time depending on your settings. When you update a row in the sheet, the change appears on your WordPress directory without any manual republishing.

Can I show employee photos in the directory?

Yes. Add a column in your Google Sheet with publicly accessible image URLs (from Google Drive, your media library, or any CDN). FlexTable renders them as images inside the table automatically.

Can non-WordPress users update the directory?

Yes. Anyone with edit access to the Google Sheet can update staff data. They do not need a WordPress account. This makes it easy for HR teams or office managers to maintain the directory without needing site access.

What is the difference between the two display methods?

The generalized view shows the full directory to all visitors, with optional search and filtering. The protected view shows each logged-in user only their own data, matched by their WordPress email. Use generalized for public pages and protected for internal HR or intranet use.

Can I use FlexTable with Elementor?

Yes. FlexTable includes a dedicated Elementor widget. Drag it onto any Elementor page, select your table, and it embeds directly. For Elementor-specific tips, see the guide on how to create a Google Sheets table in WordPress with Elementor.

Conclusion

A WordPress staff directory from Google Sheets is one of the most practical ways to keep your team page accurate without ongoing manual work. FlexTable handles the sync automatically, and the two display methods, generalized filtering and user-specific display, cover both public directories and protected internal pages.

Install FlexTable, connect your sheet, and your WordPress employee directory is live in minutes. Start with the FlexTable plugin page to get started.

Add your first comment to this post

Image

Subscribe to get product updates

Get exclusive updates on discounts, product updates, WordPress news & tips

WPPOOL Subscription form