tr Skip to content

Connect WordPress and Google Sheets

Editors plan content in spreadsheets and site owners report from them. FlowMattic connects WordPress to Google Sheets from inside your own site: published posts and new users are logged as rows, and rows can become draft posts, user accounts or updated post titles. It suits bloggers, publishers and anyone running a membership or school site.

38 triggers 90 actions 6 example workflows 11 ready-made templates Unlimited runs

Try a pairing

When this happens in WordPress32 triggers

Do this in Google Sheets19 actions

1. TriggerNew Post
2. ActionAdd New Row

When WordPress fires New Post, FlowMattic runs Add New Row in Google Sheets with the data from that event.

You build this in the FlowMattic workflow builder on your own site. See the setup steps

WordPress and Google Sheets workflows you can build

Each one uses only triggers and actions the two integrations ship today, plus FlowMattic's own tools. Where the library has a ready-made template, import it instead of building from scratch.

WordPress app icon Google Sheets app icon Ready-made template

Log every published post in a content sheet

Title, author, date and link are written as one row per post, giving you a publishing archive and a base for the next content calendar.

New PostAdd New Row

View the template
WordPress app icon Google Sheets app icon Ready-made template

Draft a post with AI for each new topic row

Add a topic and a few notes to the sheet, an AI Agent step writes a first draft, and FlowMattic creates it as a WordPress post for an editor to review.

New Spreadsheet RowAI AgentNew Post

View the template
WordPress app icon Google Sheets app icon

Record new user registrations as rows

Membership and course sites get a running list of sign-ups with name, email, role and date that the team can filter without admin access.

New UserAdd New Row

WordPress app icon Google Sheets app icon

Create user accounts from a roster sheet

Schools, clubs and companies paste a roster into a sheet, and each new row becomes a WordPress user with the role named in the row.

New Spreadsheet RowNew User

WordPress app icon Google Sheets app icon

Push edited SEO titles from the sheet to posts

An SEO consultant rewrites titles in a Title column. Each change updates the matching post by its ID, so nobody edits posts one by one.

Update Specific Column ValueUpdate Post

WordPress app icon Google Sheets app icon

Export a weekly inventory of every page

Each week the workflow fetches all items of a post type and imports them into a tab, which makes content audits and broken-page checks easier.

ScheduleGet Posts by Post TypeImport CSV or JSON to Existing Sheet

Set up: published posts logged as rows

Once this is done, each post you publish adds one row to your content sheet.

  1. Prepare the sheet

    Make a tab with headers such as Title, Author, Published, Categories and URL.

  2. Connect Google Sheets

    In FlowMattic, open Connects and add Google Sheets with an account that can edit the file. WordPress is the site FlowMattic runs on.

  3. Trigger on New Post

    Create a workflow with the WordPress New Post trigger, then publish a test post so its fields are captured.

  4. Add the row

    Add Add New Row, choose the spreadsheet and tab, map the post fields, test the step and switch the workflow on.

Import the ready-made template Beginner, about 5 min to set up
Log every published post in a content sheet Template
  1. WordPress app icon 1. Trigger in WordPress New Post
  2. Google Sheets app icon 2. Action in Google Sheets Add New Row

    Fields mapped from the earlier steps (a typical setup)

    From WordPressTo Google Sheets
    Post titleTitle
    Post authorAuthor
    Post datePublished
    CategoriesCategories
    PermalinkURL
Built on the FlowMattic canvas. Test each step with real data, then switch the workflow on.

Triggers and actions in this pair

A trigger starts a workflow. An action is something FlowMattic does in the app as a step.

Good to know

  • Sheet-to-site updates need the WordPress post ID or user ID in the row, so keep an ID column in any tab you plan to edit.
  • New Post as an action creates the post with the status you set in the step. Keep AI drafts as drafts until an editor has read them.
  • Get Posts by Post Type returns a list, which suits Import CSV or JSON to Existing Sheet, or an Iterator with Add New Row for one row at a time.
WordPress app icon

WordPress

Integration page

Triggers (32)

  • New UserTriggers when a new user is registered
  • New PostTriggers when a new post is published
  • New PageTriggers when a new page is published
  • New MediaTriggers when a new media is uploaded
  • New CommentTriggers when a new comment is added
  • Comment ApprovedTriggers when a comment is approved
  • Update PostTriggers when a published post is updated
  • Update PageTriggers when a published page is updated
  • User LoginTriggers when an user logs into the site
  • User Visits a Page/PostTriggers when an user visit page, post or any post type singular page
  • User Deletes a PostTriggers when an user delete post of any post type
  • Post Meta UpdatedTriggers when post meta is updated
  • Post Meta Field UpdatedTriggers when post meta specific field is updated
  • User Profile UpdatedTriggers when user profile is updated
  • User Profile Field UpdatedTriggers when user profile specific field is updated
  • User Resets PasswordTriggers when user resets the password
  • User DeletedTriggers when user is deleted from the database
  • Category CreatedTriggers when a new category is created
  • Tag CreatedTriggers when a new tag is created
  • Term CreatedTriggers when a new term is created
  • User Role AddedTriggers when a new role is added to user
  • User Role RemovedTriggers when a role is removed from user
  • User Role ChangedTriggers when user role is changed
  • User Role Changed From Specific to DefinedTriggers when user role is changed from specific role to defined role
  • GDPR Export Data Request ConfirmedTriggers when user confirms request to export their personal data
  • GDPR Erase Data Request ConfirmedTriggers when user confirms request to erase their personal data
  • Plugin ActivatedTriggers when a plugin is activated
  • Plugin DeactivatedTriggers when a plugin is deactivated
  • Plugin UpdatedTriggers once for each plugin that is updated
  • Plugin DeletedTriggers when a plugin is deleted
  • Theme SwitchedTriggers when the active theme is changed
  • WordPress Core UpdatedTriggers when WordPress itself is updated

Actions (71)

  • New UserCreate a new user
  • Update UserUpdate an existing user details
  • Update User MetaUpdate User Metadata
  • Add Role to UserAdd role to existing user roles of an user
  • Change User RoleChange user role of an existing user and set new role
  • Remove User RoleRemove user role of an existing user
  • Delete UserDelete user account from site
  • New MediaCreate a new media
  • Rename MediaRename media title in media library
  • Delete MediaDelete media by ID from the media library
  • Search Media by TitleSearch media by title in media library
  • New PostCreate a new post
  • Update PostUpdate existing post of any post type with custom fields
  • Get User by IDGet an user profile by ID
  • Get User by EmailGet an user profile by Email
  • Create CategoryCreate a new category
  • Create TagCreate a new post tag
  • Create RoleCreate a new user role, if not exists
  • New CommentCreate a new comment on post
  • Get Post MetadataRetrieve all or custom metadata from any post
  • Get User MetadataRetrieve all or custom metadata from any user
  • Get Posts by Post TypeRetrieve all posts of specific post type
  • Get Post TaxonomiesRetrieve all taxonomies of a post
  • Get Post Taxonomy TermsRetrieves the terms of the taxonomy that are attached to the post
  • Get Post by IDRetrieve the post details by ID
  • Get Posts by MetadataRetrieve all posts of specific post type by metadata or custom fields
  • Get Taxonomy by NameRetrieve the taxonomy details by name
  • Get All Users by RoleRetrieve all users by user role
  • Add Tag to PostAdd a tag to the post
  • Remove Tag from PostRemove a tag from post
  • Add Category to PostAdd a category to post
  • Remove Category from PostRemove a category from post
  • Check Plugin ActiveCheck if a plugin is active
  • Activate PluginActivate a plugin if not already active
  • Update CategoryUpdate an existing category details
  • Update TagUpdate an existing tag details
  • Update TermUpdate an existing term details
  • GDPR Request Export Personal DataCreate a request to export user personal data (sends confirmation email)
  • GDPR Request Erase Personal DataCreate a request to erase user personal data (sends confirmation email)
  • GDPR Execute Export Personal DataExecute export of personal data using request ID from trigger
  • GDPR Execute Erase Personal DataExecute erasure of personal data using request ID from trigger
  • Create Media FolderCreate a new folder in the uploads directory
  • Rename Media File URLRename the actual file name and URL of a media item
  • Move Media to FolderMove a media file to a different folder in the uploads directory
  • Delete Post MetaDelete a specific meta key from a post
  • Update Post MetaUpdate a specific post meta key with a new value
  • Add Post MetaAdd a new meta key and value to a post
  • Delete User MetaDelete a specific meta key from a user
  • Update CommentUpdate an existing comment
  • Delete CommentDelete a comment by ID
  • Get CommentsRetrieve comments by post ID, user, or status
  • Set Post StatusChange the status of a post
  • Set Post ThumbnailSet the featured image of a post
  • Remove Post ThumbnailRemove the featured image from a post
  • Duplicate PostClone a post with its meta and taxonomies
  • Delete TermDelete a term from any taxonomy
  • Delete CategoryDelete a category by ID
  • Delete TagDelete a tag by ID
  • Get OptionRetrieve a WordPress option value
  • Update OptionUpdate a WordPress option value
  • Get Users by MetaRetrieve users by a specific meta key and value
  • Send Password ResetSend a password reset email to a user
  • Search WordPressSearch posts, users, post meta, user meta, taxonomy terms, options or comments. Never fails on a miss — always returns found or not_found
  • Create User if Not ExistsCreate a user only when a matching one does not exist. Always reports whether the user was created or already existed
  • Get User by UsernameGet an user profile by username (user_login)
  • Delete PostDelete post by ID from the site
  • Upload Base64 ImageUpload a base64 encoded image to the WordPress Media Library
  • Add Taxonomy to PostAdd a taxonomy to post
  • Remove Taxonomy from PostRemove a taxonomy from post
  • Create TermCreate a new taxonomy term
  • Get Media by IDRetrieve the media details by ID
Google Sheets app icon

Google Sheets

Integration page

Triggers (6)

  • New Spreadsheet RowTrigger when a new row is added to the spreadsheet
  • New Or Updated Spreadsheet RowTrigger when a row is updated in the spreadsheet
  • Deleted Spreadsheet RowTrigger when a row is deleted from the spreadsheet
  • Update Cell DataTrigger when any cell is updated in the spreadsheet
  • Update Specific Cell DataTrigger when a specific cell is updated in the spreadsheet
  • Update Specific Column ValueTrigger when a specific column value is updated in the spreadsheet

Actions (19)

  • Add New RowAdd a new row with mapped data
  • Update RowUpdate existing row in specific spreadsheet with mapped data
  • Delete RowDelete row by ID in specific spreadsheet
  • Clear Row DataClear data or row by ID in specific spreadsheet
  • Lookup Row DataSearch for data in specific spreadsheet
  • Get Cell DataGet data for particular cell in specific spreadsheet
  • Update Cell DataUpdate data for particular cell in specific spreadsheet
  • Get Row CountGet total number of rows in specific spreadsheet
  • Get Row DataGet rows data from the sheet based on specified range
  • Create Spreadsheet ColumnCreate a new column in specific spreadsheet
  • Create New SheetCreate a new sheet in specific spreadsheet
  • Import CSV or JSON to Existing SheetImport CSV or JSON data to existing sheet in specific spreadsheet
  • Copy SheetCopy a sheet to another or within the same spreadsheet
  • Get RowsRetrieve rows in JSON format for use with Iterator
  • Export sheet to CSVExport the selected sheet to CSV format and save to WordPress Media Library
  • Export Sheet to ExcelExport the spreadsheet to Excel (.xlsx) format and save to WordPress Media Library
  • Export Sheet to PDFExport the spreadsheet to PDF format and save to WordPress Media Library
  • Export Sheet to OpenDocumentExport the spreadsheet to OpenDocument (.ods) format and save to WordPress Media Library
  • Export Sheet to TSVExport the selected sheet to TSV format and save to WordPress Media Library

Why run this pair with FlowMattic

WordPress and Google Sheets connect through FlowMattic on your own site, with no separate automation account in the middle and no charge per run.

No extra connector for WordPress

FlowMattic is installed on the site, so it reads posts and users directly and only Google needs a connection.

Big archives cost nothing more

Runs are unlimited, so logging or exporting thousands of posts needs no bigger plan.

Spreadsheet people can run the site

Writers and consultants work in a sheet they know, and approved rows become posts, users or title changes on your site.

Common questions

What does the WordPress integration with Google Sheets do?

It connects WordPress events such as New Post, New User or Update Post to Google Sheets actions, and Google Sheets triggers to WordPress actions. Content and user data can move from your site into rows, and rows can create or update posts and users.

Can I log custom post types?

Yes. Use the New Post trigger and filter on post type, or use Get Posts by Post Type on a Schedule to pull products, events or courses into a sheet.

Can new rows publish posts directly?

Yes, the New Post action can publish, but most people create drafts first. Set the status in the step to draft and publish after a human check.

Can I bulk create users safely?

Yes. Each new row runs New User once. Include the email, username and role columns, and test with one row before pasting a full roster.

Does this work with WooCommerce or LMS plugins?

Products, courses and lessons are post types, so Get Posts by Post Type and Update Post work on them too. Plugin-specific data such as orders has its own FlowMattic integration.

Did not find your answer? You can browse the help center or ask us directly.

Start automating WordPress and Google Sheets

Install FlowMattic, connect both accounts and import a template. Every run stays on your own server.

30-day money-back guarantee Unlimited workflows and runs Self-hosted

Reviewed 23 Oct 2026. The example workflows are written with AI from the real triggers and actions of both integrations and checked against them. WordPress integration 7.3.0, Google Sheets integration 2.2.4.