-
Recently active
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:
below question: Can we capture the user activity in Administration console or designer page even if the user is not changing anything there , user start pages ,etc. and they are not making any changes , Is this activity also captured in the logs and if it is which log should I find it?
Hi Experts,I m using read only grid in my interface, where i used expression as data source . If I search the column data correct results are not showing up. Lets say if have fields with status " NOT started" i can see 3 rows of data in grid, but if i search for "Not Started " and hit enter. only one result is showing up in grid. How to solve this Thanks
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!
I'm new to Appian. I have a user main page, and the user is able to click on a icon within the read-only grid, which is a recordactionlink, launching the interface to carry out managing of user information. Now, it would be simple if it was just the user I am handling. Considering that this action is within the "Users" Record Type as a related action, I was planning to also use this same interface to do management of another record type "Access" within the same interface. My issue is with the Access of course. With it being a grid/gridcolumn layout, with 3 columns, Location/Department/Role, the user is only able to populate the Access Record Type, 1 row per Location. Basically, the User Record Type and the Access Record Type has a one-to-many relationship. In an attempt to control the amount of rows the user is allowed to create within this interface, I first used a!for each to loop through the location Record Type, which basically ensures there's only as
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.
I am trying to open record summary for requests but whatever record I open I'm getting record doesn't exist. I attached my code I can understand something is wrong but couldn't get what I was missing. The ri! Request relation is of type request relation. Anyone can help? a!sectionLayout( contents: a!forEach( items: ri!RequestRelation, expression: a!cardLayout( contents: { a!linkField( links: a!recordLink( label: "link", recordType: a!match( value: index( a!queryRecordByIdentifier( recordType: 'recordType! Request', identifier: tointeger(fv!item[requestRelation.field.AppId]) ), 'recordType! Request.fields.applicationId', {} ), equals: 212, then: 'recordType!ABC', equals: 213, then: 'recordType
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, is there a way to disable the use of /suite/?signin=native? We are currently using OpenID as our authentication method(we need to include every new user on the AzureAD Group), but if an Admin user creates one and don't include it on the group, the user could access to Appian using the native version. For security reasons I don't want this to happen. What can we do to disable this option?
Hi, We are getting below error when we hit any site menu(s) and this message is disappearing when we re-fresh the browser. Issue remain same across the browsers. Any quick advise please. "403 Access denied" You don't have permission to view this page
I need to create new .dat file by fetching the data stored in database by running a process model. I looked into the smart services but couldn't find anything helpful. How can we create a .dat file with all the details?
I see this functionality is introduced at 24.4, is it available for on prem system also ? or only for cloud because I am not able to see this view in our on prem environment
Hello, We are operating on-premise and retrieving user login data from /opt/appian/shared-logs/appian-engine-1.xxx/login-audit.csv across three servers. It has been noticed that the files in /opt/appian/shared-logs and /opt/appian/logs are not synchronized. Is this expected behavior? Additionally, could you confirm the timing for when the login rotation file is generated and copied from /opt/appian/logs to /opt/appian/shared-logs? We observed that the rotation file in /opt/appian/shared-logs is created at random times rather than at 12:00 AM GMT. Thank You, Sneha.
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
Hi Team, I am using custom record field for date difference function (a!customFieldDateDiff), however the problem is that this function rounds off the date to floor. eg 10.99 Days will be 10 Days. do we have any other function which will do the job correctly ? Thanks in Advance
I've created a web API that retrieves data from a process model, but when I call this API during integration,it returns the following error: Error Code: errorIntegrationError Title: Error processing integration response Message: The response body could not be converted to an Appian value Detail: The jsonText parameter was not valid JSON. Received: <...>. I have attached the code a!startProcess( processModel: cons!PDBPOC_gDrivePermissionPM, isSynchronous: true(), onSuccess: a!httpResponse( statusCode: 200, headers: { a!httpHeader( name: "Content-Type", value: "application/json" ) }, body: a!toJson( if( a!isNotNullOrEmpty(fv!processInfo.pv.userData), fv!processInfo.pv.userData, { message: "userData process variable is empty or not set." } ) ) ), onError: a!httpResponse( statusCode: 500, headers: { a!httpHeader( name: "Content-Type", valu
Hi All, I am getting this error when i select convert JSON to appian I am getting error invalid JSON format but when I select raw value i get response . Is Swagger file not formated well to return the JSON which Swgager file version will appian 23.2 will use and consume ion response error-result-guidance The response body could not be converted to an Appian value The jsonText parameter was not valid JSON. Received: <... Time 498 ms Prepare: 4 ms - Execute: 494 ms - Transform: < 1 ms Value: Result This value is available as a node output when using the Call Integration smart service in the process modeler and as fv!result when configuring onSuccess and onError parameters inside a saveInto on a SAIL component or as part of a Web API. (Text) m)
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
I've been trying to implement a checkbox field but keep receiving an error. I can select either choice. I can select nothing. But if I select both choices, I get the following error: Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error at function a!checkboxField [line 638]: A checkbox component [label=""] has an invalid value for "value". All selected values must be present in the choiceValues array, but value was Fatality; Serious Injury and choiceValues was Fatality; Serious Injury. For reference, this is the code I am using: What am I doing wrong?
Yesterday I was able to create, save and publish Process Models with an AI Skill. Today, after the environment I was working in was updated to version 25.2, I am unable to publish Process Models containing an AI Skill smart service. Any attempt to save results in the following error: "Parameter Input Text on Activity Class Execute Generative AI Skill on node Blinken Lights! requires a value..." A process variable is correctly set on the Data tab. The data type of the variable is correct. I've tried changing the variable, using a literal value, rebuilding the node, etc. Anyone else experiencing this? What am I doing wrong?
Hi all, I need to decode a token encrypted with the RSA-OAEP-256 algorithm that I receive from an integration. Does anyone know if there is a plug-in available for this or any way to achieve this? Thanks in advance.
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
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.