SFTP access for importing data is currently a beta feature. It is available by invitation only.
The same functionality that is available via the batch uploaders in the application is available via automated uploads using our SFTP service.
Getting Started
You need to register SSH keys with our system to gain access to the SFTP service. There is no limit to the number of keys you can have in service at a time. So if you want to upload from multiple sources each one can have its own unique key that can be individually revoked without affecting your other keys. It also means that you can generate new keys and roll credentials over with 0 downtime.
Generating a Key
Once your public/private keypair are generated, please refer to your SFTP client software's documentation for usage.
Supported public key algorithms
- ECDSA (384 bit or 521 bit)
- RSA (minimum 1024 bit, recommended 2048 bit)
- ED25519
Windows
These instructions assume you are using PuTTYgen.
- Open PuTTYgen, and select "Generate":
Follow the instructions it presents:
Afterwards, PuTTYgen will present you with your public key:
Enter an optional passphrase if you'd like one (and your SFTP client supports it).
Save the private key, then select the output in PuTTYgen's window and save that as well. This is the public key you will enter into your Digital Onboarding settings tab:
Converting SSH2 public key to OpenSSH format
From PuTTYgen, load your private key file, and copy the output in the window as in step 5 above.
Unix-like
From a terminal session:
$ ssh-keygen -t rsa -b 2048 -E sha512
ssh-keygen
will prompt you for a location to store the public/private keypair, as well as an optional passphrase. Note that you can provide different values to the arguments to generate other types of public keys.
Converting SSH2 public key to OpenSSH format
From a terminal session:
$ ssh-keygen -i -f ssh2_public_key_file.pub > openssh.pub
This will output openssh.pub
in the appropriate format for use in your settings.
Add your public key to Digital Onboarding settings
Once you have generated a key, copy its public key and enter it into the SFTP tab in your Digital Onboarding settings.
The title of the key is purely for your own ability to keep track of keys so choose a name that is meaningful for your team and will help you keep track of which key the public key represents. The title will also be shown in audit logs to help you track when events occur with this key.
Connecting to the SFTP service
Once you have a key registered you can connect to the SFTP service at sftp.digitalonboarding.com
on port 2222
. Your username will be your team's subdomain. So, for example, if your team uses Digital Onboarding by going to https://mybank.digitalonboarding.com
, your username will be mybank
.
Testing
After connecting to our SFTP service, you should see two folders (contacts/
and templates/
). If you'd like to test your ability to upload files, but aren't ready to add contacts to the system, you may upload a file to any directory (including the root directory) aside from these two folders.
When a file has been uploaded, our system will generate an email that is sent to your team's technical contact. In order to ensure proper delivery, you can work with our customer success team to add a technical contact to your team.
Uploading CSVs
Paths in the service mimic a RESTful API – they are actually the same paths you would use if you were to use our API.
Contacts
If you want the CSV you are uploading to be treated as if it were uploaded to the contacts' batch uploader in the admin interface you should upload it to the /contacts/
path. The actual filename is not significant and does not matter. See contacts documentation for more information on available fields.
Accounts
If you want the CSV you are uploading to be treated as if it were uploaded to the accounts' batch uploader in the admin interface you should upload it to the /accounts/
path. The actual filename is not significant and does not matter. See accounts documentation for more information on available fields.
Templates
If you want the CSV you are uploading to be treated as if it were uploaded to a specific template you would need to know its id. If, for example, your template's id were 6783a405-138a-497f-bf0b-d5ef53cae356
you would upload the file to the /templates/6783a405-138a-497f-bf0b-d5ef53cae356/
path. Again, the actual filename doesn't matter and is not significant.
It is important to note that as soon as uploads are processed they are deleted from Digital Onboarding and we do not retain copies of them. This means that files previously uploaded will not necessarily be visible the next time you connect to the SFTP service.
Our SFTP service runs on multiple servers behind a load balancer to ensure that it is stable across server faults and high loads. That means that you are not guaranteed to connect to the same server every time you connect and is part of why you should not expect artifacts from one session to be available in the next session.
Sending Digital Onboarding PGP Encrypted Data
Note that encryption is not required for file transfers, it is entirely optional. If you choose to sign the encrypted file with your public PGP key, you will need to upload it to the admin panel shown below:
Please be sure your encrypted data file has an extension of either: .gpg, .pgp, or .asc, otherwise we will not be able to decrypt the data. Once we receive your data and decrypt it, you should see it imported in your team.
Use the Digital Onboarding public PGP key below to send us your encrypted data via SFTP.
Public Key
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
NmGaPQ==
=fU3a
-----END PGP PUBLIC KEY BLOCK-----
Objective Completion
For more information on objective completion, see completing objectives.