New Connector Request : databases

Airtable, supabase and Coda.

@ speckle dev, the abstraction here should be ODBC.

As always, if you can provide more context around why this is needed and specific workflows in which you would use such integrations, it would greatly help us understand and prioritize it better :slight_smile:

@YienChao Airtable has come up before as it has some traction within BIM circles for documentation

Beyond that it is always helpful o us to understand the specific workflows you see such connections supporting as opposed to a feature in the abstract. Particularly as the three examples you give could be entirely different use-cases.

@majidaldo I think this is a very broad feature request, and you’re right. ODBC would open up some client applications that can handle that interface for querying.

At this time, an ODBC interface is beyond the scope of what Speckle will offer as the structure of the data within a Speckle server isn’t typical relational SQL despite using Postgres for storage.

Our db interface remains the GraphQL API. I understand there are commercial solutions for ODBC/GraphQL.

1 Like


I’ve previously played around with doing some data-replication across Speckle + Supabase/Firebase using the GraphQL api. This was entirely a hack so I could map extra information against a commit that myself and other external parties could easily update. If I could update against Speckle (i.e. send a graphql mutation with only the changed value that the Speckle server could recognize as a new commit, rather than downloading and uploading the entire commit with just a change value), then I wouldn’t need the database link, which would be ideal because it seems unnecessarily complex to have another database that just maps information against a Speckle commit/object ids.

An example of this, is I have 200 block instances in a commit that I would then map some other information against in Supabase like “Status”, that can be updated more easily but maps backed to a speckle ID. Was a bit messy and ended up shelving it.

Admittedly my interest in Speckle is less architecture/design and more component/fabrication, so potentially asking Speckle to do something it’s not meant to do…

1 Like

@lukxfnz you may be in luck with that described use case.

I am very loaded up with SpeckleCon prep right now, but I’ll be in touch and perhaps be able to demo how you could do what you describe in a performance way with plain GraphQL and REST.

One of the presentations I’ll be giving involves GraphQL; perhaps sooner if I can sneak that example in.


Would be keen to know more @jonathon,but isn’t urgent – looking forward to SpeckleCon, will make sure to watch your presentation :grin:

@jonathon ,
understood but it seems to me speckle type maps to a table where fixed parameters are columns and variable params are json (strings). refs would relate through keys.

@majidaldo I think this is a very broad feature request, and you’re right. ODBC would open up some client applications that can handle that interface for querying.

Indeed, the excel connector does a lot of opinionated wrangling to achieve this result. The difference with the ODBC specification is technical in that the schema is unknown ahead of time.

Nevertheless, we can watch the vote count. Though it may make sense for us to split webapi dbs from a general ODBC request

Of course, if you’ll forgive me following your trail to LinkedIn, I see your expertise far exceeds my own in this regard and also that you have contributions elsewhere. We are always open to contributions to Speckle as we are a fully open-source project. It is together with the community that we bring benefits to us all.

1 Like

I have a design and fabrication use case for Coda. I’ve been building a template in Coda to initially hold material and labor estimates for projects, and then to track any design or scope changes that need to happen during fabrication.

My current work flow is pulling quantities from Rhino for materials, and screen shots that highlight items for fabrication. In a separate set of tables I’m keep track of changes and how they affect the rest of the project.

I’d really like to be able to set up a table in Coda that pulls objects from Speckle and syncs with a 3D Viewer so I can have a real time 3D model view of different items I’m looking at in Coda. It would also be really helpful to pull specific commits to visually compare differences when looking at changes to the project.

I think a fair amount of this is possible with creative use of filtering with the embedded iframe viewer, but I haven’t spent enough time to with it to know how user friendly that is inside Coda.

Hey @Duncan_Parks ,

It seems that Coda provides a Rest API that you can use. You can utilize our SDKs (Python, dotnet) to filter the data that you want to send to Coda, and then create pages and attributes by making use of Coda’s API. Additionally, you can embed our viewer by using Coda’s API.

Hey @gokermu ,
I spent some time working on this night, and I got a pretty basic version of my use case working.

It uses an iframe with a url that’s built by a table formula based on Coda filters applied.
As for exchanging data, I think you’re right that between the Coda Rest API and the Speckle’s SDKs I
should have everything I need to make things work.

I’ll let you know if I think of a new use case for a Coda connecter.