Integration of AWS S3 Bucket and Speckle to Extract Revit Metadata

Dear Speckle Team and the community,
Thanks for creating such an awesome open-source tool for AEC professionals.
We are trying to implement a workflow using AWS S3 and Speckle API as follows.

1] A user is uploaded a Revit model to AWS S3 bucket
2] using the AWS S3 lambda function [preferably in Python], the Speckle platform automatically fetches that Revit model from the S3 bucket and extract its meta data
3]Posts the extracted data to Postgres database

Please let me know is it possible to implement such workflow.
Thank you for your help.

Hi @Shafeekh and welcome to our community!

Speckle can only extract Revit data using the Revit API, and so from our connector. It’s not possible to do so from an rvt file (unless using something like ODA - paid).

As a workaround, you could upload the file to aws while sending from the connector by editing its source code…

Hi @teocomi ,
Thanks for the quick replay. Let me ask one more doubt. If we upload our model to speckle from Revit itself; can we export the metadata to a Postgres DB using speckle API?

Under the hood, the speckle server uses Postgres, and the objects stored in there contain all the metadata you’d probably want! Each object gets stored in its own row.

Here’s a sample:

Just select any object and you’ll be able to inspect its properties.

You can also access them individually, like this (i’ve added four of them in that selection):

Of course, you can also get them from the API:

If you’d let us know what your data workflow needs are in more depth, we can be of more help!


Hi @dimitrie
Thanks for the detailed replay. We are in the initial stage and as of now I don’t have enough details to share with you. We will go through the Speckle API docs and let you know if we met any Roadblock.
Have a Gooday!


Remember, also, that you can self-host a Speckle server and potentially build a custom read API on the Postgres component. This is as close to the metal as anyone could comfortably get.

It would be fantastic if you could share more on the workflow’s purpose beyond its implementation. Even a broad brush would be interesting. e.g. Data Quality, Energy Analysis, Construction Programming…


Hi @jsdbroughton ,
Thank you. One of the areas of interest is Energy Analysis. Any idea from where I can get a comparison chart or schema showing the Revit Element and its property mapping between speckle and Revit?

Unfortunately, we haven’t documented this part yet, but you can see how all the mappings work from the source code of the conversions, each class contains ToSpeckle and ToNative methods: