TABLEAU QUESTIONS

Can Customers Request Tableau Reports from Our Own Application?

Your customer asks for another service report from your portal, but the request still reaches an analyst who exports and emails it. A simple request becomes another manual handoff.

Advanced Tableau Report Scheduler (ATRS) can produce the Tableau Cloud report while your application manages the customer’s authorized request.

  
THE PROBLEM AND ANSWER

Make the report request part of the customer’s normal work

Imagine a customer preparing an account review in your service portal. The order and activity information is there, but getting the monthly report still means sending a message and waiting for an analyst.

Your portal can provide a request action backed by ATRS. The application identifies the customer and the report they are allowed to request; ATRS produces and delivers the saved Tableau Cloud job.

That division keeps the customer’s normal workflow in your application and the report preparation with the reporting team. It also gives support a particular request to follow when the customer asks where the file has gone.

Conceptual illustration: A customer application connected with its reporting workflow.

Conceptual illustration: A customer application connected with its reporting workflow.

Start with one useful action

An extra copy of the customer’s approved report is a clear first portal feature.

  
YOUR OPTIONS

Choose what the portal should let the customer do

Embedded interactive Tableau content may meet a different need when the customer must explore a dashboard and has the appropriate access. A static monthly report is a separate deliverable.

For that report, decide which choices the customer should have. An extra copy of an approved period may be enough initially. Broader options such as changing recipients or scheduling dates need validation and ownership in the backend.

ATRS can maintain a single report or a package with its formats and destinations. Start with one approved customer job before exposing a larger catalogue or letting the portal create and edit schedules.

Portal ownership and the API boundary

The ATRS portal integration guide requires a backend mapping between the user-facing request, customer/owner, allowed actions, ATRS installation, schedule family and ID. Authorize execution and status access against that mapping.

Keep API credentials and tokens on the backend. Names, folders, RunBy and knowledge of a numeric ID are not authorization. Validate the customer scope and destination rather than trust arbitrary browser-supplied parameter values.

ATRS connects to Tableau Cloud. Exported files and embedded interactive access have different account and licensing requirements; configure the source account and distribution under the organization’s approved policy.

Keep identity in the application

The backend should know which customer owns the request before it selects an ATRS job.

  
SET IT UP

Connect an approved customer job to the portal

Choose one customer’s working monthly report in ATRS and use a test destination. Open its received file with the account owner and establish the customer selection, period and output the portal action should represent.

Add the request action to your application and resolve it on the backend to that approved ATRS job. Record the customer’s operation before submitting it, then save the returned execution reference with the request.

Show a useful status while the job runs. When the result and your required delivery evidence are available, tell the customer what is ready. A file saved to a server folder is not automatically a customer-download link; the application needs its own authorized file-delivery route if that is the experience it offers.

Try two customers and an uncertain response before releasing the feature. One customer must not be able to inspect another customer’s report or execution. Repeated clicks should not create uncontrolled extra deliveries.

Prepare and verify the report’s supported parameters in ATRS before connecting the portal’s request action.

Prepare and verify the report’s supported parameters in ATRS before connecting the portal’s request action.

Creating schedules, edits and uncertain outcomes

Template-based schedule authoring documents complete create/update definitions and read-back checks. Preserve required rendering settings and destination arrays. A retrieved response is not always a complete write definition.

Use package-level identifiers for packages and the documented family for execution. If a submission response is lost, reconcile the earlier run and actual destinations before resubmitting. An application operation ID is not an ATRS idempotency key.

API status is execution evidence, not guaranteed mailbox receipt or a public download URL. Keep the application’s status labels aligned with what your integration has actually verified.

Try a second customer

Test access to reports and status as well as the visible request button.

  
FOR DEVELOPERS

Submit once and follow the same execution

After authorizing the customer, the backend submits the approved job once and retains its execution reference. The portal can then follow that same request without exposing the reporting token.

The example below runs an existing single-report job. Package creation and customer-specific schedule edits use their own complete documented workflows.

API example: request and monitor the authorized customer report

Replace 101 with the single-report schedule resolved by the backend ownership mapping. Use your ATRS HTTPS address and an authorized access token.

POST /api/Schedule/ExecuteScheduleAsync
Authorization: Bearer <ATRS-access-token>
Content-Type: application/json

{
  "ScheduleType": "report",
  "UniqueId": 101,
  "RunBy": "Customer portal report request"
}

GET /api/Schedule/GetExecutionStatus?ExecutionId=<returned-id>
Authorization: Bearer <ATRS-access-token>

Save the returned ExecutionId against the customer’s application operation. Authorize later status requests against the same ownership mapping. This request returns tracking information, not report bytes or a browser-download URL.

Follow the ATRS execution guide. Keep the token on an authorized backend. Monitor within a defined deadline and decode ResultJson; Completed can contain Result=false. Check the expected files and destinations before reporting delivery. Reconcile an uncertain execution before submitting another copy.

Keep the first execution

A delayed response may belong to a job already producing the file. Inspect it before starting another.

  
YOUR NEXT STEP

Let the customer get back to the account review

The customer can request the monthly service report while preparing the account review, and the analyst can spend time on the questions behind the figures.

Start with one authorized customer job and a received sample. Use that familiar report to build and evaluate the ATRS-backed request in your application.

Explore ATRS customer-portal reporting

Contributors:

Christian Ofori-Boateng

Christian Ofori-Boateng

CEO, ChristianSteven Software