-
Recently active
Hi everyone, We’re currently in the design phase of a large-scale Appian BPM implementation for a bank. Appian acts as the backend processor for multiple business domains — including Loan Origination, KYC, and more — with all front-end channels (like CRM) integrating via Kafka events. To give context, here’s a simplified version of the incoming JSON payload from CRM to our Appian BPM: Our Design Question We’re wondering whether our database design should mirror this JSON structure, or whether we should use a normalized model that separates document references into a central table. To scope the question further: We’re using a DMS (Document Management System), and every attachment UUID points to a file stored there. Documents can belong to any entity (Applicant, Collateral, Product Info, etc.), and multiple documents can be associated with each entity. Processes vary, and different document types may be required at various stages (requested from the C
A client reported that one of their processes has been quite slow. Their process relates to a Wizard style interface that the user needs to populate before submitting the task. However, the interface does not perform any heavy queries or expressions. When reviewing the Health Check report, what should you do? Ans:- a.Investigate the slow activity-chained process flows (as multiple User Input Tasks might be linked together) and merge these into a single interface b.Investigate the number of unattended process loops (as multiple User Input Tasks might be linked together) and merge these into multiple node instances where possible c.Investigate the interface size and review the historical performance trends of the interface (as it might indicate an environment issue) and make adjustments where necessary
Hello All, After upgrading to Appian 25.2, we noticed that deployments triggered via the deployment-management/v2/deployments API are taking significantly longer to complete. Previously, the same deployment process would finish in around 8 minutes, but now it takes over 3 hours. From the Tomcat logs, we observed errors related to constant updates during the deployment process, which may be contributing to the delay. We also attempted to stop the in-progress deployment by restarting application servers and engines, but the deployment continues to remain in-progress and is not cancelled. We have already raised a support ticket with Appian, but in the meantime, checking with the community: Has anyone else encountered similar issues after upgrading to Appian 25.2? Is there any other way to cancel or forcefully terminate an in-progress deployment initiated via the API? Thank You, Sneha.
Hi everyone, We’re building a large BPM platform in Appian for a bank. It handles multiple core processes like Loan Origination, KYC, and other services. We’re also integrating with both CRM and a Document Management System (DMS) — so document handling is a key topic for us. Our Setup CRM sends us structured application data via Kafka events. We use a central table called BPM_PROCESS_MASTER to track each case (with caseId, correlationId, processKey, etc.). We built a shared table BPM_DOCUMENT_LOG to store documents with fields like: processId entityType entityRefId documentType AppianDocId (if it’s stored in Appian) DMS_UUID (if it’s stored in our DMS) This setup gives us flexibility: We can store documents at any level (applicant, guarantor, collateral, etc.) We can handle new document uploads mid-process (like if Credit asks CRM to re-send more docs) It keeps our business data clean and avoids spreading document fields everyw
Can we configure Appian Cloud so that a specific Site (e.g. https://<mydomain>.appiancloud.com/sites/customer) is publicly accessible from outside our corporate network, while restricting access to the Design environment, Admin console, and other internal Sites to only whitelisted IP addresses?
Hi there, As a result of a process, a CSV file is output, and I want to store that file in AWS S3. Also, when needed, I want to be able to copy the file in S3 to the Appian Knowledge Center by pressing a button. I want to achieve this by connecting via AWS Private Link, not via the internet. To achieve this, is there any way other than using Lambda, etc.? There is an Amazon S3 Utilities plugin, but it seems to connect via the internet, so I don't think it meets the requirements. Thanks
Hello Team, Our Appian platform is on Cloud. Does anyone know how to download the Identity provider metadata file that has configured for SAML Authentication? We want to update the saml end points for the certificate renewal. Thanks, Ramesh
I need assistance resetting a user’s password in our Appian environment. Due to security restrictions, we do not have SMTP/email functionality available, so the standard “Forgot Password” workflow cannot be completed. Current Behavior I navigate to the Administration Console → Users Locate the user record for John Doe Click “Reset Password” System prompts that a reset email has been sent No email is sent because SMTP is disabled
Hello, We have moved from version 24.4 to the new 25.1 and we have encountered some errors in interfaces. The gridFields that were in version 24.4 had a RecordData as data collection in which they were configured with some Fields with relationships a!recordData( recordType: recordType!example, fields:{ recordType!example.example ... }) Now in version 25.1 the interface is broken because the action records have lost their ID To fix it, we added the base field recordtype!exxample.id to the field so that it obtains the data since it gave an error and the action link did not appear. a!recordData( recordType: recordType!example, fields:{ recordType!example.id <----- recordType!example.example ... }) Is there any explanation for this? Thank you
Please observe the result of these forEach, (1. and 2.): 1. a!forEach( items: {1,2,3,4,5}, expression: if ( fv!item > 3, fv!item, {} ) ) results in meanwhile 2. a!forEach( items: {1,2,3,4,5}, expression: if ( fv!item > 3, fv!item, null ) ) results in Question: Why forEach 1. does not outcome five members in the list?, I expected this result List of Variant - 0 items List of Variant - 0 items List of Variant - 0 items 4(Number (Integer)) 5(Number (Integer))
Hi everyone, I'm working with Appian 25.2 on Windows, and I want to change the default HTTP port from 8080 to 80. Here’s what I’ve done so far: I did not modify anything in <APPIAN_HOME>, as per Appian's official recommendations. I located the file tomcatResources.xml inside <REPO_HOME>\conf. I added this connector definition: <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> I ran configure.bat from the root of the configuration repository. It completed successfully with no errors. I did not start the Appian environment, I only checked the generated file at: <APPIAN_HOME>\tomcat\apache-tomcat\conf\server.xml And I noticed that the port is still set to 8080 instead of 80. What else should I check or configure to get the port changed properly to 80?
In the below piece of code, I'm attempting to update "id" value to 567. The output expected is the same as what is in local!groupEndpointResponse with the updated value of id. a!localVariables( local!groupsEndpointResponse:{ {totalResults: 1, startIndex: 1, itemsPerPage: 100, schemas: {"schema1"}, Resources: { {meta: {created: fn!datetime(2024, 12, 8, 3, 12, 45, 350), lastModified: fn!datetime(2024, 12, 8, 3, 12, 46, 910), resourceType: "Group"}, displayName: "Abc", members: {{display: "Joe", value: "123"}}, externalId: "null", id: 2}}}, {totalResults: 1, startIndex: 1, itemsPerPage: 100, schemas: {"schema2"}, Resources: { {meta: {created: fn!datetime(2024, 12, 8, 3, 12, 45, 690), lastModified: fn!datetime(2024, 12, 8, 3, 12, 46, 770), resourceType: "Group"}, displayName: "lmn", members: {{display: "Sam", value: "789"}}, externalId: "null", id: 2}}}}, a!f
Difference in Write to Multiple Data Store entity and Write to Data Store entity? When we need to use the multiple data store entity?
Hello everyone, I believe I created a real issue by deleting documents I should have left alone. My goal was to make environment B identical to environment A. There were existing files in environment B so my approach was to delete everything I could and then import everything from environment A. To clear away everything in environment B I hard deleted all application files by going into the application in designer, check the box next to the file name, delete, and confirm delete. Once all files were deleted I would then delete the application itself. Once all applications and their corresponding files were deleted I then went after files that lived outside of the applications. I'm fairly certain this is where I created my problem. I deleted documents that I now believe were being used for the appian user profile pictures. The documents I deleted had the format of <username>_180, <username>_90, <usernam
Hi All, we have encountered the delay in the execution of the process node (write Records) in the process model. The estimated time taken for the execution is over 2000ms, can anyone suggest, how to reduce the node Execution time and we have Expression rule in the node input of the smart Service . Thanks in advance!! regards, Manoj Yadav.
I want to display the data on the search screen when I return from the summary view using the back button.
Hello, My app has a series of reference data stored in a separate table/RT. We've permitted the user to manage that data as the values (slowly) change over time. Part of that management is to disable selections for future use by making them inactive (isActive = False). Dropdowns are used to access the reference data for creation and editing records. Only the active values are made available in the choiceValues/Labels to prevent use of outdated information. The problem is in dealing with "historical" data. There are active records created the week previous that include a reference value that was made inactive=True this week. Now anytime these types of records get edited, the reference to the retired data causes an error because selected value is not on the current list of choiceValues. I could lift the isActive = true filter on edit vs. create new record, but some of the reference values are years old and not appropriate f
Hi all, I'm using the out-of-the-box (OOB) "Download as Excel" functionality on a paging grid in Appian. One of the column values in my grid is a dash (-), which is displayed correctly in the interface. However, when I export the grid using the download button, the dash is exported to Excel as '- (with a leading single quote). It seems Excel is treating it as a text value, but I would like it to appear exactly as -, without the quote. Has anyone else experienced this? Is there a way to prevent the single quote from being added during export? Thanks in advance for any suggestions!
a!localVariables( local!data:ri!asr_Requests, local!rawEmails: ri!asr_Requests.emailAddresses, local!integrationResult, local!isintegrationSuccess, 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!formattedEmailString: joinarray(local!individualEmails, ","),*/ local!formattedEmailString: a!toJson( { emails: joinarray(local!individualEmails, ",") } ), local!validationMessage: if( a!isNotNullOrEmpty(local!invalidEmails), "Emails must be valid and each on a new line.", {} ), a!formLayout(
Hello, I’m working on a bidirectional integration between Appian and an external system via a middleware gateway. In this setup, we often encounter two categories of errors: Technical issues Data issues Errors series (500 and 400) [emoticon:71aee13fb1eb4feea8d56f3f0189f580]My question: What are the best practices for functionally handling these types of errors on the Appian side? Specifically: Should we simply display messages to end users via pop-ups or alert banners? Are there recommended design patterns or built-in Appian features we should consider (such as retry logic, logging strategies, fallback mechanisms, or dynamic UI error messages)? Any advice for differentiating user-facing errors from those logged for admin troubleshooting? Thanks in advance for your insights!
Good day, fellow Appian developers, I have a question about best practices regarding managing document uploads conditionally. Scenario: I have about 11 user tasks in a new application. Each task has different business logic regarding what documents can be uploaded and how. For example: On the first task, only documentType1 and documentType2 can be uploaded. documentType1 can be uploaded only once and must have a .docx extension. documentType2 can be uploaded multiple times, with no restriction on file extension. Business rules will vary from task to task. Additionally, this setup is currently only applicable for country1/organization1. Over time, this process will be adapted for seven organizations/countries. Each organization will have different business rules about what documents are required and how they can be uploaded in each task. Since this involves quite a number of validations, what is the best practice for creating a generic document upload component that can work ac
Is there anyway I can use github copilot to analysis my application.
Hi everyone, just wanted everyone's opinion on one of our process. We have multiple categories for which we have different set of user roles. They are stored in DB like category 1 -> category 1 roles with their users. And the count of rows is roughly 4000 in production. Role are 1 till Role 11. Categories are like 100+ and there can be multiple users for a role. Also, we have few user groups for few of our oversight roles so whenever there is change we add or remove users from group. So the thing is for Role 1 - Role 6 we are checking throughout application by querying the record with a batch size of 1 and with a single field, if it returns we believe the user has that set of access and we show the screen accordingly. For the rest we use if they are part of user groups and show the content accordingly.My question is what would be a better approach for this? To have groups for all roles and then whenever there is a change add/remove in all user groups? Won't t
After upgrading to Appian 25.1, the logs indicate that all services are up and running. However, HTTPS calls to port 8080 are not working. Am seeing the following warnings in the logs: “Ignoring JAVA_HOME; using ES_JAVA_HOME instead” “Unable to load the config file: /home/.aws/config — Access Denied Exception” Any help in investigate why port 8080 is not up and running would be much appreciated? All 15 requested services are running [analytics00, analytics01, analytics02, channels, content, download-stats, execution00, execution01, execution02, forums, groups, notifications, notifications-email, portal, process-design] 0 [main] INFO com.appian.data.server.Watchdog - Data Server is starting using the [ALL_COMPONENTS_MODE] startup mode.18 [main] INFO com.appian.data.TopologyFactory - Loading topology /usr/local/appian/data-server/conf/appian-topology.xml *************************************************************************************
After upgrading to Appian 25.1, the logs indicate that all services are up and running I dont see any error. However, HTTP calls to port 8080 are not working. We’re seeing the following warnings in the logs: “Ignoring JAVA_HOME; using ES_JAVA_HOME instead” “Unable to load the config file: /home/.aws/.config — Access Denied Exception” All 15 requested services are running [analytics00, analytics01, analytics02, channels, content, download-stats, execution00, execution01, execution02, forums, groups, notifications, notifications-email, portal, process-design] 0 [main] INFO com.appian.data.server.Watchdog - Data Server is starting using the [ALL_COMPONENTS_MODE] startup mode.18 [main] INFO com.appian.data.TopologyFactory - Loading topology /usr/local/appian/data-server/conf/appian-topology.xml ************************************************************************************** Regenerating the server certificate.warning: ignoring JAVA_H
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.