I have a following use case(I have no option to use site.com).
1. Agent create a time sensitive public link(Without authentication) for any document (Document is on Amazon S3 but public link is pointing to any publically exposed service on community based application ). We can’t use Amazon S3 public url since we like to track user action.
2. Shared same link with customer with Email.
3. Customer clicks on the email link.
4. Request come to the community application.
5. App created some tracking information using custom object/controller.
6. After logging required information, Service redirected to S3 resource with proper signature and other details.
7. Customer able to see/download required document.

I have following problem
1. Not able to find any option to create publically accessible service in community based application. So I like to know that it is possible or not ?
2. According to SalesForce, it seems we can’t create a web service which return “PageRefference” object which is required for my use case. So I like to know that my understanding is correct or there is any alternate option to achieve this task ?
3. Does there any hack or alternative option to achieve this use case ?


Here's my solution to this--use a public site, not a webservice.

1) Create a custom object and a url fields (or a custom field on case if you're using the standard case) for these requests to hold the url.

2) Create a custom VF page with controller. It's going to do read a url query string to get the object by id. Example: /helpredirect?id=[salesforce15digitID].

3) The controller will find the record for that ID and grab the url field.

4) The page is blank, except for a javascript url redirect (window.href or the like). In the redirect code, use {!obj.url__c} or whatever you named your thing.

5) Now expose that page and object on a force.com site. Is tracking in Google Analytics OK, or do you need it in salesforce?

6) When a "case" gets created, use a workflow email to send the page (helpredirect) link to the customer (use a merge field to put the id in the link).

7) Celebrate your awesomeness and ask for another challenge. :)

  • Thanks shane, The term “public site” is not clear to me, does your mean use “site.com” page. Since SF community license itself is very expensive so I would not like to add site.com page in my application. It’ll make my application very expensive and no one like to buy it. According to my investigation I have option to make whole page public or private in Sales Force community version but I like to make just one page as public .I have around 6 month of experience in SalesForce before that I had worked on Java/J2EE/Grails based application. Please suggest me if I have some wrong understanding – Sanjay Kharwar Aug 13 '14 at 8:32
  • No, I meant force.com site. It'll be under develop, sites in the setup menu. – Shane McLaughlin Aug 14 '14 at 5:14
  • Thanks Shane, Currently we are engage in the process to publish our application on App Exchange without this feature. Definitely I’ll try to provide this feature in our next version of application. Thanks for pointing me right direction. – Sanjay Kharwar Aug 23 '14 at 10:22
  • 1
    I did POC on your concept and it worked for me. :) – Sanjay Kharwar Sep 3 '14 at 12:25
  • Congrats! Rock on. – Shane McLaughlin Sep 6 '14 at 14:44

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.