How do i get data from other software system in to a field in a QB app using API call ? or any other way

  • 39
  • 1
  • Question
  • Updated 7 months ago
  • Answered
Photo of Raj Helaiya

Raj Helaiya

  • 1,450 Points 1k badge 2x thumb

Posted 9 months ago

  • 39
  • 1
Photo of Slider

Slider

  • 1,386 Points 1k badge 2x thumb
Hello Raj, 

There are many QB sync options for connected tables, and there are a few api out there for editing records. 

I suggest starting with the Edit Record api or Import from csv api. 

https://help.quickbase.com/api-guide/index.html

let me know if this helps.
(Edited)
Photo of GH

GH

  • 616 Points 500 badge 2x thumb
You can also use a server side programming language, there are wrappers for a few languages like PHP, Java and Ruby.

https://github.com/QuickbaseAdmirer?tab=repositories
Photo of John Rogers

John Rogers

  • 420 Points 250 badge 2x thumb
The best program I have found for all integrations with Quickbase if you are willing to pay for a middleman, is Zapier. Quickbase is fully integrated already with Zapier so when you link your Quickbase domain and table you are wanting to mess with, it will have every single field you want. 

If you chose to go this option feel free to post here or reach out to me for further help and I can show you how easy every single API integration is with Zapier.

(no I do not work for Zapier)



EDIT: I just re-read your question, if you are wanting a 3rd party software to just POST to your CRM without you sending a response back it is very easy. Post back if this is what you want to do and I will give you instructions. 
(Edited)
Photo of Raj Helaiya

Raj Helaiya

  • 1,450 Points 1k badge 2x thumb
Hello john, yes this is similar to my request. What I want to achieve is when I have data in selected fields on a quick base form, say date and a numeric field, based on that data an SSRS report must be looked up and resulting data value must be populated on my quickbase form. Is that something you can help me with or guide me?
Photo of John Rogers

John Rogers

  • 420 Points 250 badge 2x thumb
If you control both ends of this. Lets say the CRM is yours in QuickBase and the SQL Server which is creating the SSRS data is yours then yes.

Setup a web hook in CRM, connect it to a trigger of your choice. Trigger of your choice means, when a check box is checked activate webhook, or when a button is clicked (which if you do button option you must have button trigger a hidden checkbox which will then trigger web hook) The webhook in Quickbase will send to the end point of your choice.

To hit an endpoint you need the endpoint URL, an example of this is https://subdomainname.quickbase.com/db/dkjfalk343   that is a fake URL, but the subdomainname is your companies name most of the time, and the last part of the URL is the specific spot you are trying to target, like a table, or form. 

You will need a user token most likely which be a header inside of your webhook in Quickbase, I personally would use JSON instead of XML to send your data. Then inside you select which fields in Quickbase to send.

EX:

{
 "imnamingthisvariablehere": "[quickbasefield]",
 "anothervarisbleimnaminghere": "[quickbasefield]",
 "triggerMyServerResponse": "True"
}



This will send over any fields in Quickbase you want, with the variable names you are attaching to them.

From the other side, your server which is making the SSRS, you create another trigger, which activates when something you chose happens. So from Quickbase you send a field over like triggerMyServerResponse, which true will check an unchecked box. so your webhook on your server will activate when that checkbox is checked from Quickbase. 

Then you repeat the process. 

Make a user token in Quickbase (user settings, preferences, user token)
find the URL of the table and form you want to hit in Quickbase (record ID# hits the record in the table and the /db/dbid hits the table and the subdomainname.quickbase hits the CRM. map out every field in the Quickbase record you are wanting to populate with their Field_ID numbers. Then POST the data back to your CRM.

This works only if you have control of both ends, the CRM and the server (Which im assuming you have because you said SSRS which is part of Microsoft SQL) 

I know this is probably really confusing still, If you have more questions feel free to ask and I can try and help more. This works because you don't have to see the payload, and you do not manipulate any data on API calls, its just a POST which triggers another POST.
Photo of Raj Helaiya

Raj Helaiya

  • 1,450 Points 1k badge 2x thumb
Yes, I do have more questions! Sorry I have not been in touch lately with programming. Just to be clear, 

I need to send an API call from my Quick Base application to the SSRS server, correct? What API do I use for that? Also, when you say CRM that is the Quick Base app from which I need to send data, right? 

Also, for the SSRS server to post data in a field belonging to a Quick Base table, do I have to write code on the SSRS server side? As you told it should be both ways, one to send data and other to post. 

While sending data from QB app to SSRS, do I write that code in a code page in the QB app? 
Photo of John Rogers

John Rogers

  • 420 Points 250 badge 2x thumb
So there is a lot of code which is going to have to happen. Let me try to simplify, but I will say ahead of time you will need a developer to make this happen. (Yes CRM = QuickBase sorry)

QuickBase Webhook -> QuickBase Code Page

QuickBase Code Page (will need javascript knowledge, JSON, XML, AJAX, depending on route you chose)

Code Page takes data from webhook and does whichever POST you want, EditRecord, NewRecord, etc. (Is this pre existing data on your server, are you adding data, are you finding data?)

Code Page to run javascript needs the Image Onload Technique which I believe Dan created to (if you google iol Quickbase technique you will find it)

Once received at the endpoints you posted to (javascript inside codepage formats data, then Ajax call or whatever call you pick posts the data) You set up a trigger that will be hit from your QuickBase post. I find CheckBox's the easiest to use as API/webhook triggers

Then basically you mirror previous steps but send new data to Quickbase with editRecord, NewRecord, whatever you're trying to do.

________________________

Lots of steps, lots of code, lengthly process, you will 100% need a developer to do.

With Zapier, this is why I recommend it, you do not need a developer.

Zapier catches your webhook from QuickBase, it lets you pick pre-made actions, it does 80% of the coding for you other Than the raw data which was the example I showed above, 

{
 "imnamingthisvariablehere": "[quickbasefield]",
 "anothervarisbleimnaminghere": "[quickbasefield]",
 "triggerMyServerResponse": "True"
}

So the question to ask is, is it worth it to pay for Zapier, or pay for a developer. Most QuickBase developers who have the knowledge to do internal API calls are very expensive hourly. 

If I had to do this setup for my company I currently work for, exactly what you are trying to do. It would take me probably an entire week. Hope this helps.



Photo of Raj Helaiya

Raj Helaiya

  • 1,450 Points 1k badge 2x thumb
I guess I can use the developers at my firm. So it does need coding on the SSRS server side too, correct? To return data to QB application?
Photo of John Rogers

John Rogers

  • 420 Points 250 badge 2x thumb
yes it will, Good luck. QuickBase is a hard platform to code on. So if he has questions tell him to post back here.