Automatically update User account access settings

Hi everyone!

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?

Thank you!

What are you using for the Memberships? Or are you just using the Webflow CMS with a “users” Collection?

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.

We are using Memberships. But can’t automatically update the User account access settings

Yes we are using memberships. But we dont want to give backend user access to Webflow for authorizing / manually updating permissions.

Is the Google Sheet a hard requirement or can you use a free Airtable account instead?

The workflow is fairly straightforward but becomes much easier outside of Goog Sheets.

Just an example…

  1. Give various folks access to a specific Airtable Base.
  2. They log in and update a user record.
  3. That pops off a request to a glue service (example: Make.com).
  4. Which then adds, or edits a user in the Webflow CMS (through their API).

If you’re using Webflow Memberships (wasn’t clear by your response) their API allows you to update existing users or send invitations to new users.

If you’re just using the Webflow CMS you can create and update items.

Does that help?

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.

Hi Chris

Thanks for your reply.

We do have Airtable. But the problem I am running into is the Membership User Permissions / User Access Groups are not able to be updated via API.

Here is our workflow:

  1. User registers - > User access group flagged as ‘registered, non-accredited’
  2. Registration is picked up by internal staff, then validates accredation
  3. Internal staff updates AirTable/Google Sheet (we dont want them logging into Webflow) → Automation updates User access group to ‘registered, accredited’

We are using Zapier for the automation setup. I will check out Make/Integro. But I could not see any ability to update User access group / Permissions on the API or within Zapier.

That is correct.

I’m not sure why it’s being suggested that either Zapier or Make would solve this problem for you.

It won’t.

But…

Here’s what you can do today. Understand things are moving fast so this may change in the future…

You have the ability to pick an access group when you invite a user. Can’t (for now) when updating a user.

Here’s how I’d build the workflow you described to make it work the way you need.

  1. User registers. This is not a membership registration. This is a “i’m filling out a native Webflow form with my email and other details (minus password)”.

  2. Your automation submits this native Webflow form into Airtable and possibly alerts your internal staff.

  3. Internal staff updates Airtable and an automation triggers an invite to memberships with the correct access group.

  4. New user receives the email invite (handled by memberships) and continues with a new registration flow (again, all handled by memberships).

This is possibly a solid approach for now until more is added for you.

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.

image

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