Setting: Instructional design and technical assistance office at a University. We switched our process for providing assistance to instructors from an in person workshop style, to fully online. With a small team, the outsized need generated by the online education transition of the pandemic, and family needs, we were stretched thin. We tried rigid appointment scheduling where a designer was responsible for a certain block of time, but that had issues. The instructor needs weren't always paired with designer skill sets, if rescheduling needed to happen it was a nightmare, and perhaps the worst part was blocking out large chunks of appointment time while so much other work was piling up.
What it does
When a request for assistance is made through our Airtable appointment system, a quest is created and posted with details to the #secret-order channel by the Secret Order : Questboard. Designers can then review the details of the quest, accept the quest, or cancel the quest. Interactions are recorded and handled through webhooks between the Secret Order : Questboard and Airtable. Further Airtable automations create the calendar event and email all involved parties.
The popcorn style booking allows us to offer lots of appointment slots without overloading designer workloads, match needs to skill sets, and be incredibly flexible with our scheduling.
How we built it
We use Airtable as a CRM and have an appointment system linked to it that has automations to do confirmation emails and set up calendar events on an appointments calendar. Inserted into that sequence are 2 JS scripts. The first ⚡️ Send Call to Slack App: Trigger is based on appointments once they are reserved. The script pulls in data from the reservation, builds a slack message and sends it to the Secret Order : Questboard using a webhook. The second, Response Handler: Trigger is based on interactive elements in the first message being clicked, which then passes the action response package to Secret Order : Questboard, which forwards it to the Airtable webhook trigger. The script pulls the needed parts from the action response package, updates records accordingly, and then threads a response onto the original message using the slack webhook letting designers know how the quest is being handled. More info at the repo
Challenges we ran into
The first slack message that announces the quest has 3 buttons, 2 of which edit the Airtable database and they persist after clicking, so multiple people could potentially accept a single quest, or cancel it, or some mix before the response handler posts the update message. Also, a designer should be able to accept a quest and then cancel it, but not the other way around. Coding for each of these cases was a challenge, and it could probably be handled more elegantly.
Accomplishments that we're proud of
Adding interactives and handling them through code was a challenge. It was important that this all worked with our Airtable CRM and worked without needing to purchase space on a cloud platform. We hosted all of the code on Airtable and triggered it through automations. The interactivity makes designers' lives easier and utilizes a service we already had in a new way.
What we learned
Developing in Slack was totally new, and using webhooks to work with responses was something I knew about but hadn’t actually accomplished before.
What's next for Secret Order : Questboard
The team has already suggested a few updates to the current version of Secret Order : Questboard. First is to have the response replace some of the message text with the update instead of threading it so that it is more visible. Another update is to add an info button that posts the last 3 contacts with the instructor requesting assistance - this would help bring any designer up to speed on previous contacts with that instructor.
On the fun side, achievements based on how many quests designers complete, what times they are at and things along those lines would be fun to integrate. They could have fun names like “Slaying the Monday Dragon” if the designer picks up more than 1 quest on a Monday. A homepage that allows designers to track their stats, accomplishments and see (and interact) with any unclaimed quests is another dream. All of these would have graphics and narrative that fit the theme.