We are building a membership site and have a manual ‘registered-user’ approval process. Basically they need to be verified to get visibility to specific content because of legal requirements.
So, what we are trying to do is allow the people that manually verify approvals to update a Google Sheet, and then automatically update that User account access setting in Webflow. But I have combed through the Webflow API documentation and we don’t see any ability to build this workflow.
Has anyone solved this problem or can think of a solution?
With your login requirement, you’ll want to head directly to a membership solution, either MemberStack or Webflow’s BETA Memberships platform. Both can secure content, and both have a new user onboarding process.
I haven’t compared them, but either should give you the ability to accept new registrations, and then you decide who to approve. Or, alternatively, you create / invite new accounts manually.
As @ChrisDrit suggests, Airtable will be easier to connect your automation to, and also easier for you and your client to use. With less risk of a “whoops I just deleted all the users” catastrophe. There you can create a filtered view of “new unapproved users”, and decide what to do with them much more centrally.
I have not looked deeply at the APIs for Webflow Memberships BETA, or for MemberStack- but Make/Integromat should give you enough access to push/pull/update membership data that your client can perform the new member approval process 100% in Airtable.
Got it. Yes, from what I can see, the API does not yet have the ability to change a User’s status, or access groups, or custom fields, which makes external admin difficult. I think those are must-haves.
My suggestion is to shape the tech to your two-step onboarding process as follows;
Create a standard Webflow form for onboarding, where you capture whatever you want. (Webflow)
Receive those form submissions into your back-end system e.g. Airtable, where your team/client gets notified. (Webflow > Zapier > Airtable)
Your team/client approves it, contacts the new member, or whatever. (Human > Airtable)
Approval triggers the Invite User API, which sends an email to that user with the actual Membership account setup link. You specify the access_groups in the invite, which allows you to control what level of access the new user gets. ** (Airtable > Webflow)
User gets the invite email, clicks the link, enters their Name**, and boom, they’re in. (Webflow)
** Note: The Invite User API returns the new Member ID, which is statused as invited. I’d save that ID in AirTable on your record if you can find a way to avoid a record changed → zap triggered → record changed infinite loop. Reason being, email may not be a reliable ID to link zapier and webflow long-term if the user can update it.
I did a bit of exploration to see if there is an easy way to avoid asking for their name in both forms. There is not.
You can actually call Update User immediately after you call Invite User, and set their name, which is kinda cool.
However that name does not appear in the Sign Up web form.
You can also remove that Name field from the Sign Up web form.
However then completing signup will overwrite your stored name with a blank value.
That may not matter to you. If you never actually display the user’s name anywhere in the member portion of your site, you can just remove that Name field from the form.
It is a bit surprising that there is not yet a way to change the user’s access groups yet, or a way to disable/enable login on an account. I attempted to force an effective disable by temporarily wiping out the user’s email address, however the Update User API doesn’t actually apply any email address changes from your patch data.
Since you’re in the BETA, I’d made sure to share your use case and API need for an Update User Access Groups endpoint. I’ll post some thoughts there as well.