cancel
Showing results for 
Search instead for 
Did you mean: 
EN
cancel
Showing results for 
Search instead for 
Did you mean: 
Steve Sunny
Contributor

Best APIs to collect productivity/performance data from Archicad for training analytics

Hi everyone,

I'm looking to build a productivity tracking system for our drafting team. The goal is to collect data from Archicad, store it in a database, and later build reports to identify:

- Which areas/tasks are taking drafters more time
- User-specific performance metrics
- Project-wise statistics
- Where individual training might be needed

Our situation:
- Drafting staff turnover and varying efficiency levels
- Need data-driven insights to provide targeted training
- Want to track progress over time

What I'm looking for:

1. Which APIs/events would be most useful for capturing:
- Time spent on different element types (walls, slabs, roofs, etc.)
- Time spent in different views/worksheets/layouts
- Element creation/modification frequency
- Undo frequency (might indicate struggles)
- Tool usage patterns
- Session duration and idle time  

What's the best approach to track?
Our planned workflow:
1. Add-on collects data in background
2. Periodically writes to SQL database
3. Separate reporting app generates analytics dashboards

Has anyone implemented something similar? What data points proved most valuable for identifying training needs?

Any suggestions on APIs, approaches, or pitfalls to avoid would be greatly appreciated.

1 Reply 1
Joel Buehler
Enthusiast

Oh my, that sounds horrible. ...But it's the best part of an Archicad Add-On that you can do whatever you want. 😄

I would do it this way:

Add-On:

  • Hook up Element Notifier to ALL Elements. Hook up New Element Notifier.

  • Then I would see: Types of Elements created. Types of Elements modified. Number of Elements Deleted.

Just from those operations, you could interpret a lot of insights without having to develop an extremely complex plugin. Then I would increment the data I harvest on the notifier. I would start with just the GUID, Timestamps and type of the element and then harvest more and more data wherever I find it useful.

  • The identification of the user I would do with the user ID API call.

Backend:

  • I would never ever directly write to a SQL database. I would create a Web API Call on the plugin side and then build a web application with the endpoint where my plugin instances write their data to.

  • In this web application, I would integrate the data visualization and of course implement the whole authorization so that only those who shall see the data can see it.

On another level coming from my experience in architecture firms:

  • High turnover from drafting staff does not come from bad training. It comes from crunch projects that are in bad shape and of course bad hiring.

  • Why projects are in bad shape of course depends. But I never ever had a project that failed because the training was insufficient.

  • Implementing such a tool would fuel a toxic workplace environment and would lead to even higher turnover.

  • I mean, before I would implement such a solution, I would first work on the HR department and ensure that the projects are somewhat bearable.

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!