Session Id confusion

So I am working with Drawloop to get one of our processes working without enabling Connected Apps and OAUTH. In apex I can get the session id by using:

UserInfo.getSessionId();

in skuid I can get it by using:

skuid.utils.merge("global","{{$Api.Session_Id}}").text();

or:

skuid.utils.userInfo.sessionId;

All 3 of these options seem to return a different session Id!? So I was communicating with drawloop and they said that I need the Javascript session id instead of the VisualForce session id!? Apparently it should be the result of this: “{!URLFOR($Action.Account.Loop_Plus, account.Id)}” if you were dealing with an Account. This all has my head spinning what session Id do I actually need? I am running a webservice from a mass action on a skuid table. I tried all 3 options above and none of them worked. Is there another way?



Sidebar question. What do you think of Drawloop? I’ve used Conga a lot, but I’m working with a company that is considering using Drawloop simply because the minimum license count is 1 vs 5 for Conga.

Options 2 and 3 should be returning the same Session Id , but I think that what Drawloop means by “the JavaScript Session Id” is actually "the session id used by their “Loop Plus” Custom Button — Custom Buttons seem to use a different Session Id than we are handed in Visualforce, and I have definitely seen that this makes a difference in the past with Conga / Drawloop integrations.

What kind of Salesforce Custom Button is the “Loop Plus” button on Account ? Does it redirect to a Visualforce Page, is it on-click JavaScript, or just a straight URL redirect? If you post more details about this button we might be able to help.

Thanks Zach I ended up working it out with drawloop. Pat I think drawloop is fine, I don’t really have any frame of reference because I’ve never heard of conga…