Best answer

Can we build an integration for an on-premise application?

  • 12 December 2020
  • 7 replies
  • 1463 views

Userlevel 1

Hello everybody,

 

I’ve looked this up but didn’t find any clear answer so here I am.

 

We (Combodo) have a web application (iTop) which is NOT in SaaS, each user/customer deploys it on premise on its own server. We would like to build a Zapier integration for them to easily connect iTop with other apps, but we are facing an issue.

 

When building the integration it looks like the application URL used for the authentication must be the same for everybody like if it was a SaaS application. In our case, we would like the Zapier user to fill in its iTop URL along with its credentials. Is that possible?

 

Then when creating actions, we would like to re-use that URL as part of the called URL.

 

Can we do both things?

 

Thanks and have a great day :)

Guillaume

icon

Best answer by Zane 15 December 2020, 16:44

View original

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

7 replies

Userlevel 7
Badge +14

Unlikely with the way Zapier handles API connections.

Userlevel 1

Unlikely with the way Zapier handles API connections.

That would be unfortunate 😥

Thanks Troy

Userlevel 7
Badge +9

Yes! You can support self-hosted instances.  Collect any information that varies from one deployed instance to another, such as base URL, and create an input field in your authentication configuration to collect that value from the user.   Those values will be bound to a bundle.authData.* field and you can use them throughout your Zapier integration.  

See the Gitlab Zapier integration as one example that offers this.  

Setup is likely going to be more complicated for your users, so be sure to include super clear instructions in the copy you use in the Zapier integration’s authentication form, and provide a link to someplace on your site where they can get more detailed step by step instructions to, say, find api keys. or configure OAuth and create a new “allowed app” for the Zapier integration, etc.

Let us know if you have any questions getting that up and running.

Userlevel 1

Great thanks Zane! I’ll try it out :)

 

Cheers,

Guillaume

Userlevel 1

… Collect any information that varies from one deployed instance to another, such as base URL, and create an input field in your authentication configuration to collect that value from the user.   Those values will be bound to a bundle.authData.* field and you can use them throughout your Zapier integration.  

See the Gitlab Zapier integration as one example that offers this.  

...

 

Actually i’m using the Basic Auth mechanism and I don’t see how to add an input field to the authentication form. Could you point me to the said section of the UI?

 

Thanks,

Guillaume

 

 

Userlevel 7
Badge +9

The UI here is assuming “bare bones” RFC 7617, with just a username and password, to the extent it’s letting developer skip the input field setup step.  

So, options I can think of:

  • Use the “API key” auth type, add username, password, and any other fields you need to collect.  Selecting Basic auth will do a number of things automatically for you, like adding auth headers to requests, that you’ll need to do on your own using API Key auth.  
  • Switch to developing in the Zapier CLI, where you can use Basic auth and add additional fields.  Instructions on installing the CLI and transitioning your project to it: https://platform.zapier.com/docs/export

This is not the first time this has come up and we may need to revisit the way we’re handling basic in the UI.  

Userlevel 1

It’s working! Thank you so much! 🤩

 

For the record, I went with the “API key” option. Manually encoded the Authorization header and it was all set. Great!

 

Have a nice evening,

Guillaume