Migrate Services #1509
Replies: 4 comments 8 replies
|
Here's the associated project for this: https://github.com/orgs/Virtual-Coffee/projects/29 |
EMERGENCY PLAN@JoeKarow and I paired in the #co-working-room earlier this afternoon. Since I’m going to cover Zoom costs going forward and Dan is covering the CMS costs for the time being, we’re going to prioritize backing up all the data on Airtable and recreating its functions. IMMEDIATE PRIORITIESFUNDRAISE!! We still have monthly costs -- on top of the deficit that has built up. We need to figure out how to make it up!
I think that covers the bare basics of keeping things running for now. Please let me know if I missed anything major! SECONDARY PRIORITIES
References
|
|
As far as task 3 goes on the above list, I've decided to use AI to help with this. Here's the prompt I'm going from and I'll refine it along the way. In the meantime, does anyone have feedback for me? I have an Airtable app that I want to recreate in my Google Workspace and I need help. It allows people to sign up
on a wait list to join an online group called Virtual Coffee and helps the maintainers of the group by automating
the acceptance process. It contains Data, Automations, and Interfaces and connects to third-party tools including
Slack and Zoom.
The high-level flow is as follows:
1. A user submits our "Join the Virtual Coffee Waitlist" form, hosted at virtualcoffee.io/join and connected to the
Airtable app.
a. A new entry is created in the membership table and populated with the user's submitted info plus timestamps,
IDs, and other various attributes. This is akin to an entry in a database.
b. A notification is then sent to a private Slack channel to alert the maintainers of a new waitlist submission.
The maintainers periodically remove people from the waitlist depending on how much volunteer support is available.
c. A notification email is then sent to the user, informing them of their successful addition to the waitlist
and next steps. It is sent from our hello@virtualcoffee.io email address.
2. The maintainers visit the "Approve from waitlist" Interface, which lists the users currently signed up for the
waitlist. When a user is selected, more detail renders, showing the completed form and an "Activate" button.
a. On click, the user moves from the "Approve from waitlist" Interface to the "Approve pending member" Interface
and the user's new status is updated and timestamped in the corresponding entry in the membership table.
b. A notification email is then sent to the user, informing them of their removal from the waitlist and inviting
them to attend a Virtual Coffee meeting at their earliest convenience. This email contains Zoom links to our
weekly meetings and details on what to expect. It is also sent from our hello@virtualcoffee.io email address.
3. Once the user attends their first Zoom meeting, the maintainer returns to the "Approve pending member" Interface.
This Interface is designed much like the "Approve from waitlist" Interface except the button is labeled "Approve."
a. On click, the user is removed from the "Approve pending member" Interface and the user's new status is
updated and timestamped in the corresponding entry in the membership table.
b. The user is invited to join the virtual-coffee-group.slack.com Slack workspace.
c. A welcome email is sent to the user with onboarding information about the Virtual Coffee community.
I'd like to recreate the above workflow, reserving the option to further build out the membership table with future
automations and database associations. Where do we start? |
Looks like what the people at SciPy are doing can be leveraged here. They use yaml2ics to covert YAML data to calendars. |


Uh oh!
There was an error while loading. Please reload this page.
Note
The following message was originally posted by @BekahHW in the New Events Calendar Service discussion:
I want to add another layer to this conversation as we think about moving off CraftCMS + Airtable. Right now, we maintain community info in multiple places: the CMS, Airtable, VC-Community-Docs, and virtualcoffee.io. That means when a host changes or a group takes a break, someone has to remember to update at least two or three different spots. It’s easy for things to fall out of sync. (Shoutout to @meg-gutshall who frequently feels this pain point)
I think we may be able to solve both problems together. Instead of replacing the CMS/Airtable with another silo, we could create one source of truth for groups + events (YAML files in GitHub, or a small Postgres/SQLite DB). From there:
This way we’d:
Even if we start repo-first (YAML + GitHub Actions) and grow into DB-backed later, it gets us away from both vendor costs and update fatigue.
Single source of truth detailed proposal (cost-cut + fewer updates)
Keep a single data source (YAML in GitHub or a tiny Postgres/SQLite) that defines:
From that one source, auto-generate:
Libraries:
Essentially, this is the solution I'm trying to champion:
Data-wise, it would look something like this:
All reactions