Search code examples
attask

AtTask (Workfront) External Page: Send parameter to external server


I need to display some external data related to a task inside Workfront. I can create a dashboard that displays a static "External Page" from a private local server. I need to pass a parameter in that URL that includes some information about the current task, so I can get a response from a local ERP database that is relevant to that task (a field in my ERP system is used to relate quotes/orders/invoices to Workfront tasks). For example, I would have to define a URL that would look something like http://my.intranet/report?ref=$$REFNUM ... And the $$REFNUM token would be replaced with the reference number for the task where the dashboard is located. My server would see a request that looks like http://my.intranet/report?ref=12345, and return information related to the task with reference number 12345.

I have proposals from two consultants that suggest that this is possible, but I can find no documentation that explains how to pass dynamic information out in an External Page URL. Any suggestions?

UPDATE: With some additional hacking, I've discovered that I can get a Session ID returned using the following syntax:

some.url/query?session={!$$SESSION}

and I can get User ID using this syntax:

some.url/query?userid={!$$USER.ID}

I have not yet been successful getting task related detail. {!$$TASK.ID} returns null, whether called from the dashboard creation page, or from a tab embedded on a Task layout.

Are there any other secret wildcard variables and how to use them?


Solution

  • A solution was found. The following syntax will cause Workfront to return the Session and ID of the object from which it is called:

    some.url/query?session={!$$SESSION}&object={!ID}
    

    These objects can be used in an API call to get other information related to the object, such as referenceNumber. Credit goes to this page from AtAppStore, which is where I found the syntax. http://store.atappstore.com/index.php/executive-summary/