-
Recently active
Hi,Could you explain me why the mix of relationShips and fields in “index/value”, does not work in a a!update() function please ?Do I have any other choice but to call 2 consecutive a!update()?/* Works fine: */a!update( data: local!data, index: { recordType!Project.fields.createdBy, recordType!Project.fields.createdOn } value: { "my.user", now() })/* Works too: */a!update( data: local!data, index: recordType!Project.relationships.Document, value: local!docs)/* Does not work: */a!update( data: local!data, index: { recordType!Project.relationships.Document, recordType!Project.fields.createdOn } value: { local!docs, now() })Regards
Hi, I have an URL of the format : https://www.google.com/<unique_id>_<fileName>_<remaining url> Now my requirement is I want to fetch the filename out of the URL ... the first part will always remain the same i.e. first is https ... till .com/ then comes an unique identifier then followed by '_' then followed by filename then followed by '_' and the remaining URL Can anyone help me fetch the filename ?
Hello All, I’m currently using a View-based synchronized Record Type in Appian to display data on the front end(Dash Board). While the underlying data in the source has been updated and the latest information is visible in the database view, the changes are not being reflected in the Record Type as expected. Could anyone share suggestions or best practices for ensuring that modified data is refreshed and synchronized correctly within the Appian Record Type? Any guidance on how to retrieve the latest updates efficiently would be greatly appreciated. Thank you in advance for your support and insights.
Hello Appian Support Team,I am using the Appian Community Edition environment for learning.When I try to create a new Record Type using the “From Scratch” option, I receive the following error:“The data source cannot be reached or its configuration is invalid. Please contact your system administrator.”Could you please check whether there is an issue with the database/data source configuration in my environment?I would appreciate your help in resolving this issue so I can continue with the learning exercises.Thank you.
How to create a record type from scratch?
Hello The instance has got paused at the write node the record value is not going as empty there was no error msg also after running the instance again i have got this error msg ERROR:Work item cancelled (Data Inputs)
I am new in Appian application development. Can any one please help me to know how can I get and use the Import CSV to Database smart service? Should I use any Plug-ins? If yes where from I can get it? I searched for it but did not get it.
Hi All,I have a record type with one of the filters on this record is a Date Range filter on a due date field.Several departments want to save a view where the filter always defaults to "Today". but when Users save the filter with today's date selected, it saves the literal date (12-08-2026) rather than a relative reference. So the saved filter becomes stale the next day instead of always reflecting the current date. ( Default in the user filters doesn't make much sense because users will combine this due date filters with several other filters).Is there a way to save a Date Range filter so it stores a relative value rather than a fixed date, so it stays dynamic across days?As a option B, I'm considering adding a new filter with a dropdown that offers options like "Until today" / "Future Cases," which I could implement with relative date logic. But that would mean maintaining two separate filters for the same column (the original Date Range plus this new dropdown), which isn't my prefe
I know Appian internally tracks the Last Sync Time for synced record types and displays it in the Monitor View → Record Sync Status and Sync History screens. However, I haven't found any documented or supported way to access this information programmatically within an application. Specifically, is there an expression function, query API, record metadata API, or other supported mechanism that exposes a record type's last successful sync timestamp for use in interfaces, process models, or expression rules?If not, what is the recommended approach for applications that need to display or validate the most recent sync time?
We have a use case as below:We fetch the data using an external systems (eg: Servicenow) for few fields, remaining are either manual entries by user. Now can we setup a integration with external system and write the data directly to DB using Write Records smart service or first we save the data using Process model and save in DB and then for updating records we use write records smart service.option1: External System-->Integration-->ProcessModel (Call integration-->Parse response data to CDT structure-Write to data store entity)-->Records--->UIoption2: External System--->Integration--Write Records-->Save DBwhich one is possible and can be implemented. Please advise
Hi, Im facing an issue in queryLogicalExpression where 'AND' operator is used and there are 3 query filters in it with applyWhen parameter is passed which is evaluated as false in all the 3 filters but still this expression got executed instead of ignoring it. Is the applyWhen parameter will work only for separate queryFilter and not for the filters added in logical expression? Could someone help me to understand the behaviour?Thanks
Hello everyone, In the recent update (version 26.1), we received a feature that allows us to create sync-enabled record types using a view as the data source. In our case, we have a view where we aggregate three fields (e.g., Name, Type, and ID). Since these fields are aggregated, each row is unique, and we have configured this combination as a unique key in the record type. Whenever a user updates information in the related tables, the view reflects the latest data. However, since we are using sync-enabled records, the updated data is not immediately available in the record. To handle this, we added a Sync Smart Service at the end of the process. But whenever a new record is created or updated with Name, Type, and ID, the smart service fails with the below error. Since the aggregation ensures there are no duplicate values for this column, and even in the view we see only a single row for each combination, I need guidance on how to handle or resolve this error.
Is there a best practice to handle a one-to-many relation in a record so that I can save and update the items selected from a multiple dropdown? (basically a use case where my object can have a list of related features, that can be changed). In https://docs.appian.com/suite/help/26.6/Multiple_Dropdown_Component.html#usage-considerations, I see that I can use a foreach to settle my data. But how do I say to Appian that it must remove the items that are not mentioned in the data I try to save? From what I am able to do right now, it is necessary to remove the unwanted items from the relation before inserting the new ones.
Hi everyone, We are currently analyzing the performance of record views in our application to understand what contributes to the overall record view load time beyond the interface itself. During our analysis, we observed that the interfaces configured for the record views perform well when tested independently (around 2 second). However, when the same interfaces are rendered as record views in a site, the overall load time increases significantly (around 4 seconds), with an additional 2–3 seconds spent during record view loading. This isn't isolated to a single record view—we're seeing the same pattern across multiple record views. We also notice that the additional delay is more pronounced in Production and higher environments than in DEV, which makes us wonder whether larger data volumes or other environment-specific factors could be contributing. Fun fact is DEV has more data volume than PROD. So its weird. Maybe its Infra issue? We're trying to un
I have two records related to the same project, "Template" and "Area." Both records share the same EVENT_HISTORY and EVENT_TYPE tables. Each of these records has a 1:m relationship with the EVENT_HISTORY table, but we did not relate the EVENT_HISTORY table to either record. We have a recordType column on the EVENT_HISTORY table to differentiate what type of record each event is referring to. Our devs prefer this approach to creating a new EVENT_HISTORY and EVENT_TYPE table for every record for the sake of organization. In each record, I have configured the events comment field to be a distinct event name for adding comments following these instructions. Template Record -> "Comment on Template" Area Record -> "Comment on Area" The template record was created first and behaves as expected. Whenever I attempt to add top level comments to the event history list for the Area record, it stores the event
I am exploring the possibility of integrating RDF (Resource Description Framework)-based semantic data into an application developed in Appian. The objective is to leverage RDF's interoperability and reasoning capabilities, as well as its integration with technologies such as SPARQL and standardized ontologies (e.g., OWL, FHIR, SNOMED CT). Given that Appian is a low-code platform focused on flexibility and integration, I would like to ask: Does Appian natively support managing RDF data or executing SPARQL queries? If native support is unavailable, what strategies or external tools does the community recommend for integrating RDF systems (e.g., via APIs or custom connectors)? Are there any known cases of successful RDF implementations in Appian, either directly or through integration with systems like Apache Jena, Virtuoso, or Blazegraph? Any guidance on how to approach this integration would be greatly appreciated. I am particularly interested in: Managing RDF triples within Ap
Hi all I have a requirement to build a WEB API and a Process model to update other external system. The request to the web api is: { "accountNumber": "20171941", "houseNumber": "13329892", "contractStartDate": "2022-08-25T00:00:00.0000000+01:00", "contractEndDate": "2023-08-25T00:00:00.0000000+01:00"} From the WEB API I am using the function a!fromJson to get the values for the process model from the http!request.body, as usual. When we validate the process model and it execution the dates on the request changed from 2022-08-25T00:00:00.0000000+01:00 to 8/24/2022 11:00 PM GMT+00:00. I understand that the JSON functions detects the Date but we really need to keep that format from the request. Any Idea? Thanks Mario
Issue with Dynamic Identifiers in Materialized View Causing Sync Failures We are consuming data from an external view that only returns records where: BPM_PROCESSING_STATUS IS NULL BPM_CASEID IS NULL This external view is built on top of a base table that contains all records. Current Implementation When a case is created in Appian, we update the base table using a Query Database Smart Service, populating: BPM_CASEID BPM_PROCESSING_STATUS (e.g., PENDINGFORAPPROVAL, REFERREDBACK, PROCESSED) Since we do not have access to define a primary key on the source table/view (due to grant restrictions), we: Created a Materialized View on top of the external view Added a synthetic identifier column: SQL 1 ROW_NUMBER() OVER (ORDER BY UNIQUE_ID) AS ID Show more lines Built an Appian Record Type using this materialized view (to leverage record filters, etc.) Created a stored procedure to refresh the materialized view Used: Execute Stored Procedure Smart
We have a requirement for comparison of same record type data and get the difference of the data & columns. We are aware of "CDT Diff Utilities" which does the same operation and gives the expected output. However we are looking for similar way of plugin availability or workaround to achieve the desired functionality. Note: We are not looking for manual comparison of the record fields and the data, as we need to perform the comparison across all record types in the application and it will be become very tedious process to achieve by manual comparison.
Hi, while querying data using query record type in one specific field (which is an integer type, mostly the values will be 1, 2 or 3) is returning null even the value is present in the database. While using query entity value is returning and in record data preview value is displaying but in the query record type alone it is returning null one time and returning value on clicking test value again. It's a sync record type and there is no sync failure, and no changes were made in database table structure and in CDT. By syncing the record manually this issue is resolved but I want to understand the root cause.Thanks.
So i have 3 fields in a record table namely A,B,C and also 3 groups namely A,B,C. So my doubt here is, is it possible to set security to the fields separately. For example if i place a user in group A, then i should see only the A field and the other B and C fields should not be visible to me. If it is possible, can anyone guide me how i can achieve it.
Hi, I have a grid fiield which is selectable. I am showing the filtered data in the grid. When the data is filtered the id will vary with row numbers like if id 2 and 5 is shown in first 2 rows it won't match with actual row number and the row is not getting highlighted after selection but the values are getting saved. The row is getting highlighted only when the row number matches the identifier. I have just used foreach loop and added extra parameter row number and mapped with fv!index. I have used this in identifier. The row is getting highlighted now but when there is a large number of data I am facing performance issue due to foreach loop. Is there any alternate way to achieve this ? a!forEach( items: local!data, expression: a!map( uin: fv!item.uin, uinDescription: fv!item.uindescription, totalAmount: fv!item.totalAmount, rowCount: fv!item.rowCount, rowNumber: fv!index ) ) /* Grid field code*/ a!gridField_25r2( label: "E
I need to filter data in a record type but the field I want to apply filter on is extra long text it's throwing error . My actual requirement is I have to show the data in grid with serach options. In the grid data 800 rows are there so I am trying to use custom filters since I cannot use searchbox becase I am not using record data as data source that's because if the grid column need to display exra long text content it should inly use the query record type . so basically I am facing issue with extra long text but i need it because my data have characteres more than 9000 to 12000 . They all bascially html templates .Is there any way I can have option to filter the data not exact data but matches the query .
Hi Appian Experts, Need your help regarding the data visibility. There is a scenario where our business users are not able to see the full name of a service account in a grid that is getting data from a database via a Sync disabled record, whereas the Application designer can see the full name of that service account via a following code. We have added the service account in the business group, still it didn't works. if( or( a!isNullOrEmpty( ri!user ), not( isusernametaken( ri!user ) ) ), ri!user, user( ri!user, "firstName" ) & " " & user( ri!user, "lastName" ) )
I am a little puzzled here. I need to check if a dateTime value is past a given hour of the day. But there is an issue, since it has an unpleasant behaviour : since we updated to summer time, it is wrong by 1 hour ! In my record type (and user interface), the dateTime will display "6/8/2026 5:48 PM GMT+02:00", so I assume my timezone has a two hours offset. However, when I use function "timezone()", it gives "60", which would be adequate (and it did for a while!) when we would still be with winter time. Why doesn't timezone() give 120? How is this possible ? Is it a known bug ? (we are using release 25.3). Do I have to create a specific constant with the right hour and remove the days to allow calculation? Here is what I have now: a!localVariables( local!dateBegin: now(), local!heure: hour(local!dateBegin) + timezone()/60, local!minute: minute(local!dateBegin), local!isAfter17h: or( local!heure > 1
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.