15

I'm building a custom button that when clicked creates a task. In the task comments, I'm building a URL to direct the assignee to the Account Team add page. I need to know the instance I'm on in order to build the button properly.

Is there a way to get the base url (https://na6.salesforce.com) or instance (na6) in the formula builder so I can avoid hardcoding an instance?

  • Can you tell us more about what it is your referencing? – Andrew Fawcett Oct 29 '12 at 16:03
21

This will give you the Base URL

LEFT($Api.Partner_Server_URL_260, FIND( '/services', $Api.Partner_Server_URL_260))
  • Thanks, I didn't think of substringing the $Api.Partner_Server_URL_260. – Daniel Hoechst Oct 29 '12 at 16:59
  • Glad it helped :) – techtrekker Oct 29 '12 at 18:52
7

In almost all instances you shouldn't need the instance base url to make a custom button. APEX has very recently added functions to get this programmatically. And as @techtrekker points out you can also get it in the formula field.

Let's say you're on the na9 instance and you want a custom button to create a task from an account for the subject and comments. You'd end up at this url when you create a task using the regular new task button for an account:

https://na9.salesforce.com/00T/e?what_id=001E000000XXXvC&retURL=%2F001E000000XXXvC
&tsk6=Account+Name&tsk5=Account+Name

To make this into a custom button you could code hard code the instance like this:

https://na9.salesforce.com/00T/e?what_id={!Account.Id}&retURL=%2F{!Account.Id}
&tsk6={!Account.name}&tsk5={!Account.name}

Or use the api partner url to add the instance dynamically:

LEFT($Api.Partner_Server_URL_260, FIND( '/services', $Api.Partner_Server_URL_260))/00T/e
?what_id={!Account.Id}&retURL=%2F{!Account.Id}&tsk6={!Account.name}&tsk5={!Account.name}

But why not just avoid the issue and not specify the instance entirely:

/00T/e?what_id={!Account.Id}&retURL=%2F{!Account.id}
&tsk6={!Account.name}&tsk5={!Account.name}
  • 1
    I'm doing this for the button. The problem is that I need a link in the comments of the task being created. – Daniel Hoechst Oct 30 '12 at 14:19
  • Ahh, gotcha. @techtrekker has what you need then – Ralph Callaway Oct 31 '12 at 2:18
  • 1
    To answer your last question... If formula is a field (using HYPERLINK function) in an object and you subscribe to a report containing that field, the hyperlink won't know the right domain to sub in for for your referential link when you get the email containing it. Happy to learn the api partner url trick! – Sam Whitmore Apr 19 at 20:01
1

If it's a resource relative to your org, you should not need to use fully qualified URL's generally.

  • I don't see any $ vocabs you can use for this (thought the $Api.Partner_Server_URL_260 one might be of use to extract what you need using the TEXT formula functions).
  • You can also use methods on the URL class to get this, getSalesforceBaseUrl. So it maybe be possible to point your button or formula to a page that then uses this and redirects further.
  • The link is getting added to the comments of a task, so I need the full URL. I'm trying to avoid creating code. – Daniel Hoechst Oct 29 '12 at 16:28
  • Ah I see, what is it a link to if you don't mind me asking? Trying to figure out a way (different question I guess) to allow you to link from here to the target without fully qualified.... – Andrew Fawcett Oct 29 '12 at 16:58
  • I'm linking to the Account Team add page. We keep Accounts private unless you are on the Account Team. There is a public directory object we have. The goal here is to have a button on the directory record so someone can request being added to the Account Team. The button creates a task with a prebuilt URL that passes everything to the Account Team page. – Daniel Hoechst Oct 29 '12 at 17:01
  • I see, i guess the issue is it is not dynamic if Salesforce actually splits your org to an another instance in the future and your links break. That said, I guess if its Tasks the links are embedded on you don't really care so long as the task is done by then. :-) Anyway you seem to have your answer, above, thanks for the chat! – Andrew Fawcett Oct 29 '12 at 17:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.