Skip to main content
June 10, 2025
Question

How to check if document is actually persisted in the Appian file system or not?

  • June 10, 2025
  • 6 replies
  • 0 views

Hi everyone, I have a use case where I need to send files to external system for validation. I'm submitting the form which is chained to itself, so that files are persisted in the Appian file system and then I'm sending this to an external system. User gets to see the progress percentage.

So the problem is when Appian is very very slow ( due to other colleagues playing around, Appian internal apis are taking some time to write it  down. Any way I can check file exist in actual so that I can have some sort of delay retries?

    6 replies

    davidj137213
    June 10, 2025

    When you upload the file to Appian, it returns an ID... you just need to query the document using , for example , getcontentobjectdetailsbyid (if the doc does not exists you receive an error)

    In any case, I’m not quite sure I fully understand your question.

    June 10, 2025

    I added this check before calling the external system integration but this returns "No object with this ID has been found" when doc is not there but for my case it seems like the meta is written as this returns true. When I actually create a request body which is  multipart I use todocument(id) where it fails as it's return empty.

    stefanhelzle0001
    June 10, 2025

    Are you sure that this is the root cause? I am very sure that in Appian, process nodes are only completed after any activity is done. In 15 years, I never had such an issue.

    June 10, 2025

    Yeah I was calling the external system process through interface button, based on your input just added that in PM itself. Will update here when next time the env is slow.

    mathieud0001
    June 10, 2025

    I was calling the external system process through interface button

    Pretty sure that was your issue.

    harshas2775
    June 10, 2025

    Try adding a 2 min timer in your process between the interface and integration node. Unless environment issue is resolved, this way you can check if your process executes properly or not. If needed add more minutes in timer to see what works best. If environment slowness is resolved then you would not need this timer. 

    An alternative is after the UI add the document id and record's id to a table in db. Using the document id in database/process call the integration node. In this solution, if appian internal apis are slow then write records will be delayed as well. if write to db is successful your integration will be successful as well and process delay will adjust dynamically depending on load. If you don't need the data in db then after successful integration call delete the row from db for that record. Instead of db you can use process report and query using that as well.