Let Stripe payments decide who can do what on your WordPress site. A new customer gets an account, a subscription adds a member role, a cancelled one takes it away, and each paid invoice is recorded on the user. It suits sites that take payment through Stripe directly rather than through a shop plugin.
44 triggers89 actions7 example workflows7 ready-made templatesUnlimited runs
Try a pairing
When this happens in Stripe12 triggers
Do this in WordPress71 actions
1. TriggerNew Customer
2. ActionNew User
When Stripe fires New Customer, FlowMattic runs New User in WordPress with the data from that event.
You build this in the FlowMattic workflow builder on your own site. See the setup steps
Stripe and WordPress 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.
Ready-made template
Create a WordPress user for each new Stripe customer
Buyers get an account on your site with the email they paid with, so they can log in to the content or downloads they bought without registering again.
Give members their role when a subscription starts
Get User by Email finds the subscriber's account and Add Role to User adds your member role, so members-only pages open as soon as Stripe reports the subscription.
New Subscription→Get User by Email→Add Role to User
Move ended subscribers back to a basic role
When a subscription ends, Change User Role sets the user back to subscriber, so access matches what they pay for without a manual check each month.
Subscription Deleted→Get User by Email→Change User Role
Record each paid invoice on the user
Update User Meta saves the last payment date and amount on the account, so your theme or support team can see a member's billing status inside WordPress.
Invoice Payment Succeeded→Get User by Email→Update User Meta
Create a draft page for each new Stripe product
Adding a product in Stripe starts a draft post with its name and description, so the sales page exists the moment the product does and only needs writing up.
New Product Created→New Post
Create a matching role for every new plan
When you add a plan in Stripe, Create Role adds a WordPress role named after it. Each plan then has its own role that the subscription workflows can give out.
New Plan Created→Create Role
Create a Stripe customer for each new WordPress user
Every new account gets a Stripe customer with the same email and name, and Update User Meta saves the customer ID on the user, so later payments and subscriptions match the right person.
Create a WordPress user for each new Stripe customerTemplate
1. Trigger in Stripe
New Customer
2. Action in WordPress
New User
Fields mapped from the earlier steps (a typical setup)
From Stripe
To WordPress
Customer email
User email
Customer email
Username
Customer name
Display name
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
Workflows run both ways on this pair. WordPress events such as New User or User Deleted can run Stripe actions like Create Customer, Find Customer by Email or Cancel Subscription.
Matching relies on the email in Stripe being the same as the user's email in WordPress. Ask customers to pay with the address they log in with.
After New User, save the Stripe customer ID with Update User Meta. It gives later workflows a value to check besides the email.
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
Why run this pair with FlowMattic
Stripe and WordPress connect through FlowMattic on your own site, with no separate automation account in the middle and no charge per run.
Access decisions stay on your site
Stripe tells your WordPress server what happened, and your server changes the user. Customer details do not sit in another automation account.
No fee per payment event
Runs are unlimited, so a subscription business with thousands of renewals a month pays FlowMattic the same as a small one.
Works without a shop plugin
If you sell with Stripe links or Checkout, these workflows give you accounts and roles without adding a full store to your site.
Common questions
Can a Stripe payment create a WordPress user?
Yes. Start a workflow with New Customer, New Charge or Invoice Payment Succeeded and add the WordPress New User action, mapped to the customer's email and name.
How do I remove access when a subscription is cancelled?
Use the Subscription Deleted trigger, find the user with Get User by Email, then Change User Role or Remove User Role to take away the member role.
Does this work with a membership plugin?
Roles and user meta are core WordPress, so any plugin that grants access by role or by a user meta value can use them. Plugin-specific actions need that plugin's own integration.
What if the customer already has an account?
Run Get User by Email before New User. A Router then updates the existing account and only creates one for people who are not on your site yet.
Can each Stripe plan have its own WordPress role?
Yes. A workflow on New Plan Created can add a role with Create Role, and your subscription workflow can then give the role that matches the plan using a Lookup Table from plan name to role.
Can deleting a WordPress user cancel their Stripe subscription?
Yes. Start with User Deleted, find the person with Find Customer by Email, get their subscription with Find Subscription and run Cancel Subscription. Test it with a test customer before you switch the workflow on.
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. Stripe integration 2.0, WordPress integration 7.3.0.