SFTP Smart Services

Overview

Contains multiple Smart Services for interacting with a remote file server via SFTP, FTP, or SCP.  Using these services, an Appian application can be configured to send and receive files, folders, and metadata in a process.  Features support for zlib compression.

Key Features & Functionality

Smart Services included:

  • SFTP:
    • Remove Directory Over SFTP (Basic Credentials)
    • Send File Over SFTP
    • Send File Over SFTP (Basic Credentials)
    • Receive File Over SFTP
    • Receive File Over SFTP (Basic Credentials)
    • Rename File Over SFTP
    • Get Remote Directory Contents Over SFTP
    • Get Remote Directory Contents Over SFTP (Basic Credentials)
    • Create Directory Over SFTP
    • Create Directory Over SFTP (Basic Credentials)
  • SCP:
    • Send File Over SCP
    • Receive File Over SCP
  • FTP:
    • Send File Over FTP
    • Receive File Over FTP
    • Receive Folder Over FTP
  • FTPS
    • Receive Folder Over FTPS
    • Send File Over FTPS (Basic Credentials)

All smart services in the package use Secure Credentials Store.

Anonymous
  •  Appian Solutions Appian Community   

    I am trying to create folder over sftp, but receiving below error. But when I did ssh and able to manually create a folder in the same location with the same user. Initially for Remote Folder Path, tried with actual base folder location and actual folder to be created but received same below Nullpointer exception. Then created a new parameter newDirectoryName, still received same error.

    Could you please help me why I am facing this issue?

    Inputs configured to the smart service:

    File Transfer Configurations: 

    'type!{plugins.ps.appiancorp.com/.../}FT_Config'
    (
    serverHostName: 'hostname',
    serverPort: 22,
    scsExternalSystemKey: 'SCS_key',
    )

    Remote Folder Path : Actual Path where folder to be created.
    newDirectoryName: New directory name to be created.

    Error:
    2024-02-26 06:11:58,450 [Appian Work Item - 1508821 - WorkID 727 - execution02 - process 538855364 - model 15269 : UnattendedJavaActivityRequest] ERROR com.appiancorp.ps.plugins.filetransfer.sftp.CreateFolderOverSFTP - java.lang.NullPointerException

  • Hi!

    We have discovered the cause of the issue. Compared to winSCP, it is as if the plugin work with this check disabled.

    Is it correct? Can we connect to FTP through the plugin with 'Reuse TLS/SSL session ID for data connections enable'? In WinSCP is enable by default.

  • hi, 

    Can someone please let me know what File Transfer Configurations to be used for this ?

  • hi, Are you planning to update security so RSA-SHA2 is supported by plugin?

  • Hello, I'm currently experiencing an issue with the Smart Service called "Send File Over SFTP" after upgrading our plug-in from 1.7.0 to 3.0.2.  The error I am seeing in the PM and tomcat logs is "Error transferring file to SFTP server 2: No such file".

    1.7.0 - SendFileOverSFTPwithSCSUsernameAndPasswordV2 - working

    3.0.2 - SendFileOverSFTPwithSCSUsernameAndPasswordV3 - not working

    I understand that there is an even new version of the Smart Service than the V3 above but I would like to understand why my current process model is failing assuming the V3 support is still valid.  I've checked and the file I'm currently trying to send exists within Appian.  Our SCS have also been configured and verified to be correct.  The file path is correct as well.  Could I get some help in figuring out what could be the problem?

    Configuration for Send File Over SFTP

    External System Key: pv!sftpKey

    Server Host Name: pv!sftpHostPort[1]

    Server Port: tointeger(pv!sftpHostPort[2])

    Remote File Path: concat(pv!remoteFilePath, "/", pv!zipDocName)  i.e. "/broadcast/testing.dat.zip"

    Source Document: pv!zipFile

    ** info redacted to just show the error received from the Smart Service**

  • Hello!

    I need help with using the SFTP plugin, specifically the Send File Smart Service. I have followed the instructions in the documentation, but I cannot establish a successful connection with the remote server. 

    These are the steps that I have performed: 

    - I have downloaded the rsa file that contains the private key and uploaded it to the privateKeyFile field. 

    - I have created a Third-Party Credentials and added there the username. 

    However, when I try to run the plugin, I receive a timeout error. 

    I have generated a ppk with puttygen and configured the private key with this value but it tells me that the ppk is invalid. 

    The configuration that I have is the following: 

    Could someone please tell me what I am doing wrong and how to solve this problem? 

    Thank you very much for your attention and collaboration.

  • Hi Alison, are there any other error messages when you test V3? Does the log say anything about "Error obtaining document to send path"?

  • For instance: 
    = 'type!{plugins.ps.appiancorp.com/.../}FT_Config'(
    serverHostName: "",
    serverPort: ,
    scsExternalSystemKey: "",
    usePerUserCredentials: false()
    )

  • If you pass usePerUserCredentials: false() it should work and if using then userCreds then it should be true()
    For instance: 
    = 'type!{plugins.ps.appiancorp.com/.../}FT_Config'(
    serverHostName: "",
    serverPort: ,
    scsExternalSystemKey: "",
    usePerUserCredentials: false()
    )

  •   
    Hi Team,

    We've resolved the issue which was reported by  a month ago.
    The issue was due to usePerUserCredentials param not being passed becuase usePerUserCredentials is defaulted to false(). And the error we received was also didn't highlight that missing params shold be added; would have been good to throw specific errorMsg.
    It would have been nice if these params are highlighted under documentation as required/optional. 

    SFTP Send File used to highlight it as required/optional under 1.7v when each param was input on SS: 

    Now with 3.0.3 it collectively takes input as one:




    And SFTP doc does not mention which fields are required/optional:


    If this documentation could be updated it would be really helpful.
    In addition, knowHostsFile and privateKeyFile params show as type of Number - Integer in 3rd screenshot however in 4th screenshot these params show dataType as document. Ideally should be doc as I've used privateKeyFile with 1.7 and I used to pass a doc encompassing key.

    If we can correct these, this will help the developers a great deal! Thanks much!

    Best,
    Arpit