astoria-tech / volunteer-dispatch Goto Github PK
View Code? Open in Web Editor NEWSlackbot to coordinate errand volunteering
License: MIT License
Slackbot to coordinate errand volunteering
License: MIT License
Hello friends! I'm helping a West Philly mutual aid group transition their existing Google Form -> Google Sheet workflow to your Airtable/Slackbot setup. As a result of their already hefty request database, I don't think I can start fresh with your Airtable template. I copied a sample of their data over from Sheets to Airtable, and have been renaming their old/adding new columns to match your table's fields.
However, I am getting consistent Task errors when running make develop
locally, as mentioned in the issue title. My Tasks column has options for:
Grocery shopping
Financial Assistance for Groceries
Picking up a prescription
Financial Assistance for Prescription
Transportation to/from a medical appointment
Dog walking
Loneliness
But the server consistently throws: Error updating 'Tasks' column in request <request_id>: Insufficient permissions to create new select option ""Financial Assistance for Groceries""
. Any ideas why it would be trying to create a new select option? Also, I'm pretty sure it did create the new Financial Assistance...
select options, b/c I think we copied your Airtable template over before you updated the Task wording. So the ones I manually added were the older wording, and your app was able to add the new ones.
I'm not sure what's wrong, but I think it's causing no tasks to be returned for a given request. Trying to track down why it's trying to create a new select option when that one now currently exists. Any guidance would be greatly appreciated. Thanks in advance.
If #18 is merged, it adds support for the "Anything else?" field. If a user really types a lot in that field and causes the total character count of the message passed to bot.chat.postMessage
to go over 3001 characters, the API call will fail.
If we want to be safe, we should check character count of the entire message before making that call. If the char count is > 3001, we can substitute the anythingElse
block content with "See Airtable for further notes from the requester", or something along those lines.
Hi,
I'm working on some similar mutual aid efforts in Colorado. Someone from the group may have already reached out regarding this, but I was wondering if you could duplicate the airtable you're using so that I can test drive this node app. I think this is a useful workflow and we can contribute back to this app if we're both working off the same schema.
In index.js
, we have this line:
const tasks = request.get('Tasks').map(Task.mapFromRawTask) || [];
If the user hasn't entered any primary tasks (items in the "Tasks" field of the form), that .map
call will error out and prevent the record in Airtable from being processed. This is because it's calling .map
on undefined
.
Since we have a "Tasks - Other" field, presumably it's conceivable that a user would skip the primary tasks and manually enter one in the "Tasks - Other" field.
I can take this one, but don't want to mess up anything in the code's Airtable land if it's still in flux.
volunteer-dispatch/src/index.js
Line 30 in 0af64dc
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.