Do you want to extend your business by making it easier for QuickBooks Online users to consume your services? Or maybe you want to deliver a new service that uses QuickBooks Online’s Payment and Invoice features. Axway AMPLIFY Integration Builder makes creating the necessary connections easier than ever through the use of the provided QuickBooks Online Connector. In this article, we will cover the steps required to create a Connector Instance which connects to a Quickbooks Online sandbox account.
In Part 1 of this series you will configure the Application Integration QuickBooks Connector to connect to a QuickBooks sandbox company. You will also configure webhook communication so QuickBooks can notify the Connector Instance when specific events occur.
In Part 2 we will explore using the configured QuickBooks Connector Instance in an integration Flow.
Some setup first. You will need two accounts:
- Axway AMPLIFY Application Integration. If you don’t already have one (what are you waiting for?) go to the Axway AMPLIFY Platform and sign up for a free trial account. When signing up for a new account on the AMPLIFY Platform you will need to request the Application Integration component be added to your trial. Once you have logged into the AMPLIFY Platform, click the Service Offerings & Products link at the top of the page. Next click the Start Free Trial link on the Application Integration tile.
- An Intuit Developer account. Visit Intuit’s Account sign-up and follow the instructions if you need to create one.
Set up QuickBooks Environment
The first thing you need to do is get your QuickBooks sandbox set up so you’ve got something to connect to from Integration Builder.
Note: These instructions are valid as of the publish date of this article. Intuit reserves the right to modify the navigation of their site. If they do, hopefully the instructions here will provide enough information to get through any UI differences.
Log onto your Intuit Developer Account.
Create a Sandbox Company
The first thing you need to do is create a Sandbox Company. Accomplish this by hovering over the API Docs & Tools link in the top-right portion of the navigation bar and selecting QuickBooks Payments -> Sandbox.
On the resulting page, click the Add a sandbox company button. Choose your country from the drop-down and apply. This will cause QuickBooks to create a sandbox company complete with sample data for you. It will have some exciting name like Sandbox Company_US_1. Feel free to change it to whatever you like or even leave it alone. Just remember what it is because you will need to select it in an upcoming step. I’ll rename mine to DevBlog.
The new sandbox company opened in a new browser tab for me. For this next step, you need to navigate back to the Sandbox tab (the one with the big blue Add a sandbox company button you clicked on). Back on that tab, you will see your sandbox companies listed. You will also see the developer navigation bar at the top. In the navigation bar click the My Apps link.
Click the Create an app button. Click the QuickBooks Online and Payments tile. Give your app a name. I’ll use DevBlog here. Under Select a scope choose the scope for the APIs you would like to access. I selected both Accounting and Payments. Finally click the Create app button. The app is where you will generate the Keys & OAuth tokens and configure links so QuickBooks and AMPLIFY Application Integration know how to communicate with each other.
Make sure your Sandbox company name is shown in the drop-down list on the top-left of the page. I select DevBlog. Click the Keys & OAuth link under the Development section in the left-hand navigation menu. You should see auto-generated Client ID and Client Secret keys here.
This is where you will be configuring AMPLIFY Application Integration and QuickBooks Online to communicate with each other. The first thing you need to do is tell QuickBooks where to redirect authentication requests coming from Integration Builder. In the Redirect URIs section click Add URI. In the new URI filed enter https://auth.cloudelements.io/oauth.
Click Save at the bottom of the page.
Create Connector Instance
Next you are going to need to copy information between Intuit Developer and AMPLIFY Application Integration. Since you will be switching between the two interfaces, I suggest opening a new tab or window and navigating to the AMPLIFY Platform.
Now that you have your new tab open, log onto the AMPLIFY Platform and click the Integration Builder tile. This will bring you to the main Integration Builder interface. We are going to be configuring one of the pre-built connectors, so click on the Connectors link in the left-hand navigation bar.
You will now see the complete list of pre-built connectors provided by AMPLIFY Integration Builder. There are over 200! Rather than scrolling through the entire list (but, hey, feel free to if you are in a browsing mood) enter QuickBooks Online in the Search bar located at the top of the page.
The number 3 in the black callout means I have already created three instances of this connector. Don’t worry if you see a different number or no number at all. You will be creating your own instance shortly.
Hover over the QuickBooks Online and select the Authenticate option form the menu. This will take you to the configuration page for the connector.
Give your connector a name. I like to use my initials when naming Connector Instances so I can differentiate them from Instances my colleagues in the same organization might create. Here I will choose to name my Connector Instance VAB – DevBlog. Under Authentication Type choose oauth2. Click the Show optional fields button.
Navigate back to the Intuit Developer tab containing your Keys. Copy the Client ID key for your app into the API Key field for your connector in Integration Builder. Next copy the app’s Client Secret into the Connector’s API Key field. Finally, set the Use Sandbox field to true.
Finally, click the Create Instance button for the QuickBooks Online connector in Application Integration.
A new tab will open to establish authentication between QuickBooks and AMPLIFY Application Integration. You will be prompted for which sandbox company you want to associate with this connection. Select the sandbox company you created earlier. i renamed mine to DevBlog so I’ll select it here and then click Next. Finally, click Connect to agree to establishing authentication.
You should receive a success message in Integration Builder that the connector instance has been created and you will be directed to the page for your new connector. We still have some configuration left to do on the connector instance that we couldn’t do before establishing authentication, so let’s go back and do that now.
READ MORE: Accessing Axway Mobile Backend Service (MBS) from Axway’s Integration Builder – Part 2
In the Integration Builder UI, click on the Instances link in the left-hand navigation bar to view your list of Connector Instances. If, like me, you have a few instances created then it might be useful to employ the search feature. I called my Connector Instance VAB – DevBlog, so if you start typing the name you used into the search field the list of Connector Instances is filtered for you. Once you have located your Connector Instance, click on the Instance Options (gear) icon next to it and select Edit.
Now you can configure Events which can act as triggers when this Connector Instance is used in a Flow. Click the Events Enabled slider to enable events. We want to configure the Connector Instance to use webhooks, so use the Vendor Event Type drop-down to select webhook. Note the webhook URL field is now populated.
Copy the value in the Webhook URL field and navigate back to your Intuit Developer browser tab. Select Webhooks under the Development navigation menu and paste the value into the Endpoint URL field. Click the Show Webhooks link to display all the possible events to use with this webhook. I tend to only be interested in Payment and Invoice so I deselect the ENTITY field at the top of this list which deselects all event triggers, then I individually select Payment and Invoice, leaving all actions selected. Feel free to select all events and actions you are interested in. Click Save at the bottom of the page.
This should cause the Event Trigger list to collapse and you will now see the Endpoint URL field again along with a Verifier Token field now populated. Copy the value from the Verifier Token field and paste it into the Callback Notification Signature Key for your Connector Instance in the Integration Builder UI.
Click the Update button for your Connector Instance.
This completes configuration of the QuickBooks Connector Instance and QuickBooks sandbox company.
Navigate to the Instances tab on the left-hand navigation bar of the Integration Builder UI and locate your Quickbooks Connector Instance. Click the API Docs link next to it.
Scroll down until you locate the customer’s endpoint and expand the GET /customers method.
Click the Try it out button and then click Execute (you may need to scroll down to find it). If all is well then you should get a response fro QuickBooks showing all of the customers in the sample sandbox company you created earlier.
Congratulations! You have successfully created a Quickbooks Connector Instance and associated it with a QuickBooks sandbox company. You are now ready to leverage the power of Integration Builder Connectors in your applications.
In Part 2 of this series we will use this connector in an Integration Builder flow which will allow us to take action when the webhook events we subscribed to are triggered as well as create Payments and Invoices in QuickBooks Online.
In this article, you learned how to configure a QuickBooks Connector in AMPLIFY Integration Builder to communicate with the Intuit development environment. Now you are ready provide seamless integration to your clients and applications which need to leverage QuickBooks Online.
Learn more about AMPLIFY Application Integration and sign up for your free trial here!