Create a Custom Button for Hub in Salesforce Classic Experience


This article will illustrate how to add a button to your Salesforce Opportunities that will allow you to connect with the Windward Hub and generate reports for your Opportunities with a just a few clicks.

Setup Button for Salesforce Opportunities

The first step is to create a button that we can use on our Opportunities page that will redirect us to the Windward Salesforce Integration App that will allow us to generate a report for the given Opportunity. 

  1. First, login to your Salesforce and go to Setup.  This will be in the top left corner of your screen once you login to Salesforce.  If you don't see a Setup link, then click on the drop down on your account name and Setup should be there.  
  2. Once you navigate to Setup, on the left sidebar in the Quick Find / Search box, type "Button" and you should notice an option for "Buttons, Links, and Actions" under the Opportunities section. Click on that link.
  1. Once you navigate to that link, then click "New Button or Link" at the top of the list of all the buttons and links.  This will take you to the screen to actually create the button we will use. 
  2. For the Label and Name you can choose whatever you would like to be displayed on the button.  For instance, you could call it "Generate Report".
  3. Next, set the display type to Detail Page Button.
  4. The behavior, you can choose to have it open in the current page or open in a new window.  This is up to you how you would like it to act, I will chose to "Display in new window" for this example as I believe this is the cleanest way to do it.
  5. Then, set the Content Source to URL.
  6. Finally, and most importantly, in the big open text box, you will enter the following link to have the button navigate to our Salesforce Integration App upon click.  The link is:;?id={!Opportunity.Id}&context=opportunity

Make sure that the link you enter is exactly the same as the link above otherwise your button won't work properly with the application.

Please note that this will be extendable to other Salesforce controllers such as Accounts, Contacts, Activities, etc in the future.  Currently there is support for Accounts and Opportunities.  To setup a button for Accounts, all steps are the same, the only thing you need to change is the URL here which would instead look like:{!Account.Id}

Note that all future supported controllers will follow this same model /Generate[ControllerName]/?id={Controller.Id}

  1. After the link is entered then the button should be complete and all you have to do is click "Save".  Here is an example of what the Custom Button form should look like.

Adding the Button to the Opportunities Page

Now that we have created our button to navigate us to the Windward Salesforce Integration App, we need to bind this button the Opportunities page so we can generate reports for specific Opportunities.

  1. First, navigate to the Salesforce Opportunities page on the top navigation bar.  Once you navigate there then click on an existing Opportunity.

If you have no Opportunities, then create a new "test" Opportunity as we need to have an Opportunity page to edit the layout for.  The changes we will make will apply to all current and future Opportunities as well so we will only have to do this step once.

  1. Once you are on the page for a specific Opportunity, click "Edit Layout" in the top left corner. This will open a drag and drop editor with existing fields, buttons, links, etc that you can drag and drop onto the Opportunities page.
  1.  Under that editor, select the "Buttons" category on the left and you should see the custom button you made appear there.
  1. Drag and drop that button into the Custom Buttons section next to the Standard Buttons.
  1. After  you place your custom button, click "Save" up in the drag and drop layout editor and that button will then be available for all of your Opportunities.

You are now ready to generate reports for your Salesforce Opportunities with Windward Hub!


Add your comment

E-Mail me when someone replies to this comment