-
Recently active
Hello Community, We are building an enterprise-grade BPM platform using Appian to manage various distributed banking processes such as loan applications, KYC, onboarding, and more. One of our architectural goals is to ensure flexibility and scalability, especially when dealing with multiple business domains and product types (e.g., Car Loan, House Loan, Personal Finance). In our design, we have a universal process registry (PROCESS_MASTER) that links to all BPM activities. However, each product and process can introduce different sets of business-specific fields. We want to allow for product/process-specific data entry without creating a separate CDT or database table per product. Proposed Approach: Store shared/common fields in a structured APPLICATION_DATA table. Store product-specific or process-specific fields using a DYNAMIC_ATTRIBUTES table (key-value structure) linked by master key. Use Appian expressions and record interfaces to dynamically render fields based on metadata. Use
Good morning, I need to add an editable column in a gridField because I don't want to lose functionality. Is it possible to do this?
hi team, how to add the multiple documents at the same time to record could you please suggest me. thanks
Is is possible to create an interface where there is a carousel list for images, cards, etc. ? Refer to the image above.
t= a!localVariables( local!data: ri!_Requests, local!errorMessage: "test", local!result, local!emails: ri!_Requests.emailAddresses, local!integration, local!individualMail: if( a!isNullOrEmpty(local!emails), {}, reject( fn!isnull(_), split(local!emails, char(10)) ) ), local!invalidEmails: substitute( tostring( reject( fn!isnull(_), a!forEach( items: local!individualMail, expression: if( regexmatch( pattern: "^s[A-Z0-9\_-]+(\.{0,1}[A-Z0-9\+_-]+)*[@]{1}[A-Z0-9.-]*[A-Z0-9-]+[.]{1}[A-Z]{2,6}$", searchString: fv!item, regexFlags: "si" ), null, fv!index ) ) ) ), ";", "," ), local!validation: if( isnull(local!invalidEmails), {}, "Emails must be in a valid format, and each email must be on a new line. " ), a!formLayout( label: "Request", contents:
Hi Community, I'm working on an Appian interface for updating a parent table(BaseOilOrConcentrate) which includes a related editable grid of child table(WIW_OIL_SPEC_CONTROLES). I use a rule-backed component (rule!WIW_gridLayout_specs_Oil) to display and manage this grid. When I delete a row from the grid (child spec), it gets removed from the database immediately (which is expected). However, after clicking the Submit button to finalize the update, the deleted child records reappear in the database. Has anyone encountered a similar situation? Is there a recommended approach to persist deletion state across the interface and process model without modifying the rule? Thanks in advance for any suggestions!
In the performance matrix for an interface is: blue is caused by local!A.pink is caused by local!B. But local!B is using results from local!A . Since the logic is already evaluated in local!A, local!B is simply calling the results from local!A, then why it's taking the same amount of time.
Can we perform 2 operations within the same expression of a forEach loop possible? (Ex: zip in python.)
I was hoping for advice regarding a Custom picker field I recently setup. It works similar to a dropdown but with text search, so as you start searching.. the dropdown starts filtering based off what was typed. The issue I am having is a small issue I found where if I type AB. (dot) the first codes listed in the dropdown are "TAB." and "AB." comes after it. Screenshot below: Do you know of a way within a custom picker field like this that I can sort it so that if I type "AB." codes that start with "AB." will be listed first before TAB? Here is some of the underlying code in case that would help you understand if this is possible or not.. This is the custom picker field: a!pickerFieldCustom( label: "Strategy Code", placeholder: "--Please type in--", value: if( a!isNullOrEmpty(ri!strategyCodes), {}, ri!strategyCodes )
Hi everyone, I just want to know more about the report object in Appian. I have read all the theory available in Appian, but I still have some doubts. I want to show all data on a site, so I have created one main interface that has three sub-interfaces with KPIs in it. If I want to add this to a site, I have two ways: either I can add it as an interface or as a report. Then, what is the purpose of the report? There aren't many options; we just need to select the interface we want to show in the report
I have a use case involving multiple applications with a shared parent table: Parent Table (Parent_Request): Stores all requests created across various child applications. Each request has a unique Request ID. Child Applications: When a new request is created in a child app, it inserts a record into the Parent_Request table. There is a field called Related Request, implemented as a Record Picker. This allows users to link another request (from the same or different app) as a reference. Request Relation Table: Stores the relationship between the current request and the related request (i.e., maps request IDs). Currently when viewing the request summary or while creating a request, the Related Request link (from the Record Picker) opens the summary view from the parent request. I want the Related Request link to open in the correct application's local summary view — based on which child application originally created that request. Can you help me with this implementation?
We have done some stress test stuff to test specific process modeling approach and now we want method to delete all those instances at once. Does anyone have an effective method?
Hi Champ, I am using default export functionality of record in my interface to download data in to a excel. But when it's downloading, it's downloading columns with extra data. For example if I have a column with a text with an icon, then it's downloading text and appening the icon text as well which I don't want in my excel. I want only the text to be downloaded. Moreoever, if I want to download only few columns, then how can I customize that. I know we can build a different download icon link and can do that; but clinet is not preferring that option of custom development again. Regards, Ghanashyam
a!localVariable( local!array: rule!integration2, a!forEach(items: rule!integration2, expression: 'type!{urn:com:appian:types:TEST}TEST_CDT'( name: index(split(index(index(rule!integration1(input: fv!item)), 1), 2), "/), "name"), email: index(split(index(index(rule!integration1(input: fv!item)), 1), 2), "/), "email") ) I want to perform the calculations in one local variable and pass fv!items from each iteration in the expression to that local variable and then simple index the values and fill in the values in the CDT. My idea is: a!localVariable( local!calculation: index(split(index(index(rule!integration1), 1), 2), "/), 1), local!array: rule!integration2, a!forEach(items: rule!integration2, expression: 'type!{urn:com:appian:types:TEST}TEST_CDT'( name: index(local!calculation(intVal: fv!item), "name"), email: index(local!calculation(intVal: fv!item), "email"), ) ) But intVal is a rul
Is there a way to declare an empty array as a local variable (local!a) --> Perform some operations in another local variable(local!b) and append the results to local!a.
Hi,Requirement, I have an Interface which consists of 4 interfaces inside. Out of the 4 interface one has a Card Layout Button. Upon clicking on the Card Layout button a process model is triggered. But before the process model triggers I want to validate all the fields in the 4 interface if its not blank and need to highlight the mandatory fields to be filled if it blank and only then the process should start. Though I have already used the link parameter in the card layout for startprocesslink Im unable to use dynamic link to save local variable and proceed. Kindly help on this.
I'm following the cards as a button layout. I have a series of "buttons" that are generated dynamically. What I'm trying to achieve is that my component tracks which buttons are currently selected. There is a rule input which is a list of integers of the selected buttons. I would like when the button is clicked for the id of the button to be added or removed from the list and the button card will change colors from selected to not selected and back. Currently the coloring works when setting the selected values by default but I cannot get the values to update when clicking on the "button". a!cardLayout( contents: { a!richTextDisplayField( value: { a!richTextItem(text: local!itemNum) }, align: "CENTER" ) },
I'm trying to remove the Appian logo from my Site, but it seems like it's not possible to do so. Does anyone have a solution to remove it or replace it with another one? The logo that is located right next to my profile picture.
Hi All,We have a start form with a main interface which is having 3 radio buttons in one child interface and and based on radio button clicked, we are showing three different child interfaces. Now when we click on the radio button, we want the data inside the interface to be refreshed. Currently data is refreshed only when whole page is refreshed. Can we use refresh variables to achieve this or any other way??
CMS does not display any visualization for my configured tasks and workflows. Can you please help understand what might be the issue?
Hi All, I have a form which is a related action, inside of this form I also have a a!recordActionField , the user must fill out some information before they can proceed with submitting the new form. My Issue is that after the related action is completed the main form does not get refreshed showing that no data is missing. I'm using the rule inputs for my list of validations. Any recommendations ?
Hi All, I am having editable grid with selection and implemented pagination also for that grid. For selection given primary key for id in gridRowLayout. but issue is if I selected all records in first page by click on header level checkbox and and go to next page and select all rows there also in same manner then my first page all selected primary keys is replacing with second page selected primary keys instead of appending all the selected primary key. Please help in this
I am unable to execute "Step-by-Step #8 Exercise to Accompany Interfaces 101" because the W_W1731SAVehicleSummary interface displays the following message: Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error at function a!gridField [line 335]: A grid component [label="W1731sa Maintenance"] has an invalid value for "columns". A grid column [label="Modified"] has encountered an error. Expression evaluation error at function 'user' [line 474]: [InvalidUserException]
Hi, We are trying to upload some files in an Interface inside a User Input Task, we already know that submitUploadedFiles doesn´t work in an Interface inside a User Input Task as mentioned in https://community.appian.com/discussions/f/user-interface/31235/unable-to-use-a-submituploadedfiles-in-site, so we have been struggling trying to achieve this use case.Just for clarification The User Input Task is in a process model used in a Site page We are using the User Input Task because it was the option we found to share some variables between a couple of interfaces inside the process model We are really new to Appian, so probably there are better ways to do these kind of things Here some info Site/resized-image/__size/640x480/__key/communityserver-components-multipleuploadfilemanager/13f642af_2D00_f604_2D00_496a_2D00_9560_2D00_775427969df6-283275-complete/pastedimage1745529911878v2.png Process model /resized-image/__size/640x480/__key/communityserver-components-multipleuploadfile
I have a button on an interface that is used to start Process using a!startProcess in the background. Now I want the values of the field to be retained. Once the process the completed, all the local variables are refreshed to empty or null values. How do I retain these values. For other fields I am using ri! but for a particular values that I am having operations on in the interace I am bound to use local variable here. Am I missing something here? I tried using rule inputs, but the usecase requires me use a local variable here. Also tried saving this to an ri! and onSuccess saving back to local! but that didn't help. Any help or direction that I should be looking towards to solve this?
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.