-
Recently active
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
Hi All, We're getting an error like- "Expression evaluation error at function- a!UserCardUiContents: The user does not exist." No object has been mentioned in the error mail to identify where the error is occurring.May I know please when this error generally occurs and how to resolve it. Thanks
I am getting some error while trying to save a process model, but I am not able to identify what I am doing wrong. Please find the screenshot of the Error as follows:Please note that I am able to save and publish this successfully, which is very strange. Here are the logs: 2025-11-20 08:50:35,302 [ajp-nio-0.0.0.0-8009-exec-20] ERROR com.appiancorp.process.design.presentation.ProcessDesignAccess - java.lang.NullPointerException: Cannot invoke "com.appiancorp.suiteapi.process.ActivityClass.getParameters()" because the return value of "com.appiancorp.suiteapi.process.Escalation.getActivityClass()" is null java.lang.NullPointerException: Cannot invoke "com.appiancorp.suiteapi.process.ActivityClass.getParameters()" because the return value of "com.appiancorp.suiteapi.process.Escalation.getActivityClass()" is null at com.appiancorp.process.design.presentation.ProcessDesignAccess.saveProcessModel(ProcessDesignAccess.java:1156) at jdk.internal.reflect.GeneratedMethodAccessor11011.invoke(Unk
Hello All, We have a requirement to run the multiple process models as per schedule. The Scheduler will be responsible to identify which process to be triggered and when. For example we are maintaining below data in records-Processname - time - UUID Process Name Time UUID process 1 2:30:00PM, 5:30:00 PM uuid1 process 2 2:30:00PM, 5:35:00 PM uuid2 process 3 8:05:00 AM,2:30:00PM, 5:35:00 PM uuid3 process 4 10:05:00 AM,2:30:00PM uuid4 process 5 10:05:00 AM,2:35:00PM uuid5 process 6 12:05:00 PM,2:45:00PM uuid6 Now parent process is running and checking in each 5 mins and checking which process to be executed. Then it fetch the UUID of those processes and get the Process Model ID. This process model id will be used to call "Start Process" smart service with (MNI), each for identified process. I am using Start Process smart service because I am maintaining UUID in DB and need to get the processes dynamically. So here as per above example, at 2:30:PM I have 4 proc
Process model is newly added with Write Records of a new record type recently created and when comparing with previous version which doesnt have this record type in dev it is throwing attached error. Anyone faced this issue?
Hey!I'm going through the Appian docs for activity chaining https://docs.appian.com/suite/help/25.3/Sub-Process_Activity.html#activity-chaining-into-a-subprocess-activityI see that there is a checkbox to Enable activity-chaining into all initial nodes in the subprocess and Appian recommends(for the sake of design consistency) enabling activity chaining in the subprocess despite selecting this checkbox. My question is with respect to the following statements as highlighted in image below1. I agree with the first statement and I have tried it out myself 2. The second statement says keep Enable activity-chaining into all initial nodes in the subprocess checkbox cleared if I have a start form in subprocess. Now, my question is - does it matter if I have checked/unchecked this checkbox as I already know the start form will be skipped. Like what am I achieving by clearing the checkbox if I know it's going to skip the start
I am getting some strange values from todate(). { todate("02/28/2025"), todate("02/29/2025"), todate("02/30/2025"), todate("02/31/2025"), todate("02/32/2025"), todate("06/31/2025"), todate("RR/28/B025") } It seems to try to auto-correct an invalid date to a valid date. But it also seems to allow characters in the date which it evaluates somehow and comes up with wild dates as a result. First Question: What's going on with todate() that it results in off-the-wall values? My scenarion is this.... I have a webApi that receives a json string which contains structured data that includes multiple date fields. The webApi uses cast/fromjson to convert the json input string directly to a CDT that uses Date fields. The CDT is passed to our expression rules that operate on the data. For example... CDT (SH_Test) Expression rule (faking the WebApi) a!localVariables( local!inputString: "{ ""name"": ""Bob Smith"", ""birthDate"": ""GG/28/2025"",
Hi Team, we have notice below observations, please check and let me know if I missed anything, When we used Sub-Process as asynchronous and running more than 1000 instances but those instances are not deleting even though we have selected Allow more than 1000 instance check box....is there any limitations ? when we used start process smart service as asynchronous / synchronous way using MNI with 1000 instances then we have notice that even though we have selected Delete previously completed/cancelled instances. check BOX but those completed instances are not deleted in the monitoring dashboard....is there any limitations ?. and in start process smart service we are unable to run the MNI more than 1000 instances ..if have run more than 1000 instance same like sub process asynchronously. How to achieve this scenario with using batch job ? thanks!
Hi All, i have editable grid in my ui, on that i have textfield which i marked as required. (note: when page loads grid is disabled based on the button action grid will get enabled). but i have couple of validation for that textfield that is working but with respective to required condition it is not working. please find below the screenshot and code snippet. Kindly help me on the same. a!textField( label: "Dental Members", labelPosition: "ABOVE", value: fv!item.dentalEnr, saveInto: { fv!item.dentalEnr, if( contains( touniformstring(index(local!editList, "intakeId", null)), tostring(fv!item.intakeId) ), { a!save(
hi , I have requirement, like after downloading the excel sheet though the smart service , is there any possibility to set automatically label as K3 Confidential, so that user don't want to set manually after downloading the excel.
I have scenario where, I need a link in email body, this link should open a current task for which we have different process model and interface, but I want to open that task in current step once I click on the link from email. How can I achieve that?
When I am trying to create pdf using this smart service if content contains other languages characters for example Hebrew language characters then it replaces with #, is it limitation of this smart service or we can fix it.
I have a record action configured with User input task form , In that interface there is save draft button on the left corner I want to remove it . How can I do that?
in version 24.4 isuseractive function is not available, is there any other way to achieve this? I just want to validate if user is acitve or deactivated or even if doesn't exist anymore in the system, we are trying to validate the scenario if for any reason the user saved in DB was deactived or deleted from the system, cause currently we are saving the result of calling the funcion loggedInUser() in DB, this is storing a text value, however we have the requirement to display the fisrtName and lastName of the user in the frontend, but if the user doesn't exist in the DB we are getting invalid user exception at the moment to use user(username,property) function, since we don't have a try-catch similiar function in version 24.4, I would like to know if there is any other way to catch the exception or change the approach following your recomendations. Any help will be greatly appreciated, thanks and regards!
I want emails in array format like {"test@test.com", "test2@test.com" }a!localVariables( local!data: ri!test_Requests, local!rawEmails: ri!test_Requests.emailAddresses, local!individualEmails: reject( a!isNullOrEmpty(_), a!forEach( items: split(local!rawEmails, char(10)), expression: trim(fv!item) ) ), local!invalidEmails: reject( a!isNullOrEmpty(_), a!forEach( items: local!individualEmails, expression: if( regexmatch( pattern: "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$", searchString: fv!item, regexFlags: "si" ), null, fv!item ) ) ), local!formattedEmails: "{" & joinarray(local!individualEmails, """,""") & "}", local!validationMessage: if( a!isNotNullOrEmpty(local!invalidEmails), "Emails must be valid and each on a new line.", {} ), a!formLayout_25r1( label: "Test", contents: { a!sectionLayout( con
Hello everyone, I have a question regarding how Appian handles task URLs and their accessibility across different applications and sites. I've noticed that a task in Appian can be opened regardless of which application, site, or page you're currently viewing. For example, the same task ID can be accessed through multiple different URL patterns: https://<myenv>.appiancloud.com/suite/sites/any-application-1/page/<any-page-3>/task/<some-id> https://<myenv>.appiancloud.com/suite/sites/any-application-2/page/<any-page-3>/task/<some-id> https://<myenv>.appiancloud.com/suite/sites/any-application-3/page/<any-page-3>/task/<some-id> Let's suppose <some-id>=GgE4eQDCj1OX711111 All of these URLs successfully open the same task, even though they reference different applications and pages in the path. My questions are: Why does Appian allow tasks to be accessible from any site/application URL path? Is this the expected behav
We do have a process model in place; however, we encountered an error while working with the Excel plugin. The node that uses the Export to Excel function is throwing the following error: "The following error was raised by the Export to Excel function: Your InputStream was neither an OLE2 stream, nor an OOXML stream"  This issue appears to be new, as we did not face any problems earlier.
I have an interface where I select numbers using a multi select dropdown . When I select it is in the sorted order In the next confirmation screen , I show these values in an array as a read only paragraph , it is not maintaining the sorred order ( shown below ) a!paragraphField( label: "Item #", labelPosition: "ABOVE", instructions: "", value: a!forEach( items: toString(local!selectedItems), expression: substitute(fv!item, ";", ",") ), saveInto: local!selectedItems, readonly: true ), I am displaying the paragraph as shown above , Is there anyway to display the local!selected items as sorted ?
Hello everyone! Good morning! I’m facing a challenge with a form that contains several tabs, each with the same fields, but filled with different data. The issue is that, when the user clicks the Submit button, Appian only validates the required fields in the active tab. This impacts our business logic because we need to ensure that all required fields in all tabs are completed before submission. Goal: Validate all required fields, regardless of which tab is active, when the user clicks Submit. Question: Has anyone encountered a similar situation or have any suggestions on how we can achieve this? I’ll attach an image showing part of the form for additional context.Thank you in advance for your help!
Hi everyone, There was a requirement from the user to generate a report (DOC format) using existing data from our records. To fulfill this, we generated HTML code using Appian expression rules. The output of the rule is HTML, which we then passed to the Docs from HTML and CSS smart service. The HTML we are generating includes the following code snippet to set the page orientation to landscape: @page { size: A3 landscape; margin: 20mm; } table, th, td { border: 1px solid black; border-collapse: collapse; } I would like to know whether the plugin we are using is capable of taking page instructions or not.
Hi All, We have a process that receives email and later uses AI skills for each of the attached document. The issue I'm having is that Appian is considering any embedded image from the email (footer images/signature/logo) as an attachment. What I really want is the attachments msg property to only contain actual attachments. Example: - User sends an email to system with 3 attachments and a footer which contains 2 logos. - The system picks up the email trigger and the process grabs the attachments but is also including images in the body (totaling 5 attachments now)). What I want the above to do is only process the 3 actual attachments and not the 2 embedded images. We have hundreds of emails coming in every day and from various sources so its not consistent with embedded images. How do we figure out the actual attachment from embedded image, so we can discard embedded ones for further processing. otherwise the review task
Hi everyone, I’m exploring ways to build a user management workflow in Appian for a digital streaming platform project. The workflow would cover actions like user sign-up, subscription renewals, and cancellations — along with automated notifications and reporting. I’d love to hear from others who have designed similar workflows in Appian: How did you structure your process models for recurring user actions (like renewals)? Did you use record types or data stores for tracking subscription states? Any best practices for integrating external APIs securely for user validation? This project aims to improve automation and reduce manual handling, so any examples or tips from your experience would be greatly appreciated. Thanks in advance!
How can i achieve this , pls guide . When I click on ADD PASSPORT HERE - and upload a file the file link should be reflected on the "Password Link: " above . Also if I click on the uploaded link it will re-direct me to the file .
I have enhancement requirement , I have editable grid and when user add new row to the grid it should be inserted before the last row , Is that possible if yes can anyone help to get started with? Below is my existing code a!localVariables( local!feeDetails: ri!feeDetails, local!minimumFee: reject( fn!isnull, a!flatten( a!forEach( items: ri!feeDetails, expression: if( and( toboolean( fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{be1056cb-8331-4446-8fa4-3081fc64bc73}isactive'] ) = toboolean(true()), tointeger( fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{30de7239-941c-401f-ad56-2672421eba71}scenarioId'] ) = tointeger( ri!selectedScenario['recordType!{94f6f945-ec9c-4178-8b3f-684a5547bb00}PRC Scenarios.fields.{ad9e991c-6487-437f-8665-fe15a96eba42}prcScenario
Hi there, I hope you all are doing well. Has anyone been able to successfully install a local version of Appian on a Mac(M2, M3, M4 chips)? If so, what documentation did you use and how did you go about it? Many thanks.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.