Airtable datasource ?

Josselin Granger shared this idea 8 months ago
Idea Logged

Hi everyone,

has anyone been able to connect Yellowfin to an airtable datasource through the JSON connector ?

I'm struggling with this (but I must admit JSON data source is not my field of expertise).

Thanks for your help

Comments (15)

photo
1

Hi Josselin,

Thanks for reaching out to support with your issue.

I'm thinking you have found our knowledge base guides found here-

https://community.yellowfinbi.com/knowledge-base/article/json-connector

https://community.yellowfinbi.com/knowledge-base/article/what-is-a-json-data-type-and-does-yellowfin-support-it

https://community.yellowfinbi.com/knowledge-base/article/n-a_2

I see nothing on file indicating our product has been used with Airtable before, but I'll reach out to the team to find out. If no one has experience here, I would have to get access to an Airtable environment to do some testing. This may be helpful in the meantime-

https://medium.com/row-and-table/an-basic-intro-to-the-airtable-api-9ef978bb0729

Dealing with JSON connectors can be pretty time consuming, perhaps you could look into the possibility of using a 3rd party JDBC connector, or a Data Warehouse solution, as an alternative?

Thanks,

Eric

photo
1

Hi Eric,

I did read all that, along with the Airtable API Documentation, which is pretty clear.

When I set the query I in Postman I get a response with all my data. Easy.

In Yellowfin JSON connector I chose the following options :

- Data source : REST API

- End Point URL : The URL to my database, given by Airtable

- Headers List : Authorization: Bearer <MY_API_KEY>

I left the others fields blank (or with their default values), and when I hit "validate URL" I receive the message "REST Error : Invalid Rest Configurations"

photo
1

HI Josselin,

Thanks for the additional info here. We might be able to get more information about what is wrong with the "invalid REST Configurations" on the receiving side; would you be able to provide any output from Airtable's side during this operation?

I touched based with an implementation specialist, who shared the sentiment of looking at the possibility of using a 3rd party JDBC connector such as C-Data:

https://www.cdata.com/drivers/airtable/jdbc/

I've reached out to your Account Manager to see if we can arrange an engagement to discuss objectives and solutions further.

Thanks,

Eric

photo
1

Hi Eric,

Thanks for your link, but I don't currently have the budget to purchase additional 3rd-party components (this one is currently in beta, but will then be highly priced), nor would it be relevant anyway in a simple ROI perspective.

I attached to this reply the response I get from Airtable when I use postman with the same configuration : API url + "Authorization : Bearer XXXX" header.

photo
1

Hi Josselin,

Would you be able to temporarily put your yellowfin application server in DEBUG mode, and provide a compressed copy of the logs folder, along with a timestamp of when you got the error message? More info can be found here -

https://community.yellowfinbi.com/knowledge-base/article/how-do-i-turn-on-debug-logging-within-yellowfin-log-file

please be sure to disable debug logging again after obtaining the logs folder:

<yellowfin>/appserver/logs

If this file is too large to attach here you can upload to our ftp - https://ftp.yellowfin.bi - just use the "upload files" button.

I'm experiencing similar issues in my Airtable testing so far. This may indicate there is an issue with the JSON connector and Airtable, or how Yellowfin is handling security for the Airtable authentication.

Thanks,

Eric

photo
1

Hi Josselin,

Just wanted to check in to see if you had a chance to review my response at this time?

Thanks,

Eric

photo
1

Hi Eric,

No, not yet. This past week has been pretty busy/weird due to the lockdown.

I may have some time tomorrow or next week, but with no certainty.

(btw, I still don’t have any solution on my licensing problem)

Regards

7478225b187cb14e4bcf1271145ba18b

Josselin GRANGER

Chief Product Officer

21 Rue Commandant Fuzier - 69003 Lyon

Tél : 07.79.46.57.94 / 04.72.77.16.03

josselin.granger@easy-life.fr

www.easy-life.fr

ac23bf8a416e7423921eb720f12d260b

De : Support Queue [mailto:support@Yellowfin.bi]

Envoyé : jeudi 19 mars 2020 15:57

À : Josselin GRANGER <josselin.granger@easy-life.fr>

Objet : New Comment in "Airtable datasource ?"

photo
1

Hi Josselin,

Thanks for the update. I can definitely relate to your week! Hope you're well in spite of the circumstances.

If you're able to get the Debug logs, great, if not, no worries, I can keep doing some testing on my end with my connection. Although I only have a few days left of my trial haha!

Big picture-wise, it feels like we might need to make changes to the JSON connector, or even devise our own proper "connector" for Airtable in order for this authentication to get sorted. In the meantime there might be a way to "pull" the data in a different way, so that Yellowfin can access it. Of course a JDBC "helper" was my first idea, but there may be another option, such as implementing a data warehouse solution. Would this be something to look into potentially?

Thanks,

Eric

photo
1

Hi Josselin,

Hope you are well, just wanted to check in to see if you had a chance to review y reply in this case?

Thanks,

photo
1

Hi Eric,

I just tried to connect to my Airtable data source after activating the logs (you’ll find them attached to this email).

There should be only the connection attempts, as I asked other user not to use the product during those tests.

You’ll notice a variety of examples :

  • I’m not 100% sure of the syntax : Postman or curl requires a “Authorization: Bearer myToken” parameter but it seems that the JSON connector requires a “=” instead of the “:”
  • I also tried  to connect to my Typeform account, without any luck (tried it in Postman with success also)
  • Typeform uses the same type of “Authorization: Bearer token” header : it would be interesting for me to make sure I tried the correct syntax. How does Yellowfin do with the blank space in the parameter value ?

The whole idea behind this Airtable solution is to provide a quick and easy to way to store and manipulate data we can use.

I don’t know if you are familiar with their solution, but it’s extraordinarily efficient and easy to use.

Installing a datawarehouse for this sounds like killing a fly with a bazooka, it totally defeats the purpose : it would require extra maintenance, probably cost another license we can’t afford, and add extra complexity (I know you’re meaning to help, but I’d rather go for the Google Sheets connector. Problem is my CEO is not very comfortable storing company data on google servers).

Plus, we currently have enough difficulties with Yellowfin without adding a datawarehouse (I have another ticket with a licence problem which has been open 42 days ago).

There might be necessary to improve the JSON connector, but I may have misused it (as my other test on Typeform suggest).

I think an native Airtable connector would make total sense, as this product’s userbase is fastly growing, but it would require maintenance on your part to keep it up-to-date, and would not solve future problem (cf. Typeform using the same Authorization header).

Well, let me know

Regards

452b9747b1e8ffb857aa686add511b2c

Josselin GRANGER

Chief Product Officer

21 Rue Commandant Fuzier - 69003 Lyon

Tél : 07.79.46.57.94 / 04.72.77.16.03

josselin.granger@easy-life.fr

www.easy-life.fr

7f35a232845920b8b43cf3d2fa921e47

De : Support Queue <support@Yellowfin.bi>

Répondre à : Support Queue <support@Yellowfin.bi>

Date : jeudi 19 mars 2020 à 23:27

À : Josselin GRANGER <josselin.granger@easy-life.fr>

Objet : New Comment in "Airtable datasource ?"

photo
1

Hi Josselin,

Thanks for the reply here. It's very helpful to understand the use case and some of the details in regards to the theoretical issue, which sounds like it might just be a simple syntax thing.

I was considering making a developer request to get an Airtable Connector, and perusing our developer platform for any related issues. I saw this, related to the JSON connector -

Also, we are moving JSON from connector to STEP, so we should give customer option if they want to use the connector (with its limits) or try the STEP


Would this be something you could test out - create an ETL process and add the connection as a step, as opposed to adding via the data source configuration page? I'll try to get more info on the changes in the meantime, it looks like there may be some related tasks and bugs still in progress with the JSON connector.

Thanks,

Eric

photo
1

Hello Eric,

Yes, a step on a transformation flow would be a far better option.

Any idea when this would be available ?

Thanks

2a42fe2d1597ee003f23133016592129

Josselin GRANGER

Chief Product Officer

21 Rue Commandant Fuzier - 69003 Lyon

Tél : 07.79.46.57.94 / 04.72.77.16.03

josselin.granger@easy-life.fr

www.easy-life.fr

ca34d45a4c464a8d74969f6e869c3728

De : Yellowfin Support <support@yellowfin.bi>

Répondre à : Yellowfin Support <support@yellowfin.bi>

Date : mercredi 1 avril 2020 à 22:21

À : Josselin GRANGER <josselin.granger@easy-life.fr>

Objet : New Comment in "Airtable datasource ?"

photo
1

Hi Josselin,

The ETL step is already in the application, however, it looks like the exact same popup for adding the data source is here, which I would imagine throws the same error.

If you could provide the Debug logs at this point, it'd be great; I'll check with the team so see what the best way forward is -

-Airtable connector development

-JSON connector troubleshooting with Airtable

Thanks,

Eric

photo
1

Hi Eric,

Thanks for the feedback, but before I try again, would be kind enough to tell me the exact syntax I’m supposed to use : this way, you’ll only get the relevant logs.

As a reminder, here’s Airtable documentation

af9b0eb5924c3feb2c401c6365855efc

I think I should setup the JSON connector as such :

Data Source : REST API

End Point URL : https://api.airtable.com/v0/appOuT10CQwKHyiDv/Test

Param List : <none>

Headers List : Authorization=Bearer YOUR_API_KEY

  • Replacing “:” by “=”
  • Leaving no spaces before and after “=”
  • Leaving the space between Bearer and the API_KEY
  • No semicolon after the parameter

On other syntax which would make sense would be : Authorization=’Bearer YOUR_API_KEY’ , the single quotes being here because of the space character.

Regards

9c500ba60d34bb12b0d9cf58b2271a16

Josselin GRANGER

Chief Product Officer

21 Rue Commandant Fuzier - 69003 Lyon

Tél : 07.79.46.57.94 / 04.72.77.16.03

josselin.granger@easy-life.fr

www.easy-life.fr

b123862b13dfe535bea5d289b7985ef3

De : Yellowfin Support <support@yellowfin.bi>

Répondre à : Yellowfin Support <support@yellowfin.bi>

Date : jeudi 2 avril 2020 à 21:51

À : Josselin GRANGER <josselin.granger@easy-life.fr>

Objet : New Comment in "Airtable datasource ?"

photo
1

HI Josselin,

Thanks for the update here. I spent some more time today trying to get my instance connected using some of the syntax you mentioned, but have had no luck so far. I'll check with our implementation specialist to see if he can match up the fields we have with the parameters I have for Airtable. I'll keep digging. In the meantime I'll see what the team thinks about possibly developing a proper connector.

Thanks,

Eric