Welcome! This forum has a treasure trove of great info – Scouters helping Scouters! Just a heads up, though - all content, information, and opinions shared on this forum are those of the author, not the BSA.
I understand from other posts that Scoutbook is using ancient technology so maybe APIs can’t be easily done although that would be the best solution. If not, perhaps documentation on methods to read data out of the database.
The problem I am trying to solve is how to get data from Scoutbook into a usable form. The feature assistant is a nice add on and addresses some concerns, but reporting is very weak. In some cases, the best way to get information is to copy and paste it into notepad which almost makes me laugh that I am even writing that. If the team does not have the time to spend on such an activity, maybe you can pick up an intern and let them work on the documentation.
While the BSA announced they were working on read only APIs for Scoutbook several years ago, that work was put on hold. We have not heard anything more about it for some time. I suspect due to cost cutting at the BSA, this has been dropped.
What reports are you trying to create? There may be an easier way to get the data out of Scoutbook than copy and paste.
The reporting in SB is so bad as to be virtually useless. For example if I want to see which rank requirements are needed to be completed by scouts per patrol (which is needed for the PL to plan activities), I have to:
Run the report to show all activities for every rank for every active boy
From the report screen, export to CSV and download it
Run a script to clean and normal the data (a boy can be marked rank-approved without having any requirements marked approved)
Import the data into a local database
Run queries to extract the needed data in a usable format.
I’ve automated 3-4 and have #5 already designed so it is easy once I have the data.
But this shows the broken process. I shouldn’t have to log in, run a report and download it; I should be able to schedule a single script to run periodically.