Appian Community and Appian Academy are being upgraded. From July 24–August 3, the Appian Community will be in read-only mode. During this time, the site will be read-only and user registration will be disabled. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
We are using a!safelink to provide provision to download a file using presigned URL. The requirement is we need to store which user clicked on the link and when in audit table, but
as in the safelink there are no saveinto parameter . I tried multiple other ways but all in vain.
I am unable to find a solution, where on a single click user able to navigate using presigned url as well as in backed it writes to audit.
please advise what to do that in this case and any work around we can do to achieve the requirement.
Thank you in advance
Discussion posts and replies are publicly visible
Hi Anvesh, Not sure if you are still looking for a solution. I had a similar requirement, and this is how I got it done.
Step 1: Create a Web API (POST Method) that creates audit history either using startProcess or writeRecords logic.
Step 2: Create an integration to make a call to this Web API. We need these 2 objects since we cannot call POST Web API as part of a safe link.
Step 3: Create a Web API (GET Method) which will redirect the user to the appropriate link as show in the inserted code.
Step 4: Provide the URL of the Web API created at Step 3 as safe link.
Hope this helps.
a!httpResponse( statusCode: 301, headers: { a!httpHeader( name: "Location", value: http!request.queryParameters.uri /*This is the URL to which the user should be navigated*/ ) }, body: rule!PREFIX_POST_AuditHistory( ....... ) /*this is the integration call to write audit history*/ )