SFTP Pulls

SFTP feed pulls retrieve files for import from external systems using secure file transfer protocol (SFTP). SFTP pulls trigger when a file arrives on the company SFTP server, and the file matches the specification.

Feed flow: Company FTP/ SFTP server to FTP/SFTP feed pull, then to Importer.

Creating an SFTP feed pull

The general steps for creating a feed are:

  1. Create a new import method:

    1. From Import Methods screen, click Add Method. This opens the library of available import methods.

    2. Select the import method from the list. This opens the Method Editor, where you can build your import method.

    3. In the Details tab:

      1. Enter a name and a description.

      2. Provide the Host, and select the Authentication type to access the Company SFTP server.

        1. If you select Password, enter a Username and Password to access the Company SFTP server.

        2. If you select Public key, enter a Username, Passphrase, and SFTP private key to access the Company SFTP server.

    4. In the Schedule tab, configure the schedule for the method.

    5. In the Advanced tab, specify the File regex that matches the name of the file(s) to retrieve from the SFTP host and to import.

    6. Click Done.

  2. Use an FTP application to verify you can log in to the SFTP server with the username and password.

    1. Place a sample file on the SFTP server. The name must match the File regex.

  3. Change the Processing Mode to active.

  4. Inform the company that they may begin feeding files to the SFTP server.

Details

Method Name
Name of this import method.
Description
The description of this method; should include the purpose and information about the expected source system and Importer.
Host
Host URL of the server for your company's instance.
Authentication type
Type of authentication used by the external system:
  • Password — System provides the value defined in the Password property.

    Important: Password authentication is deprecated and will be obsolete in a future release. Preferentially, use public key authentication for new connections with Medallia-owned servers or client-owned servers. For information about public key authentication, see Generating SSH Key pairs.
  • Public key — System provides the value defined in the Authentication public key property.

    Warning: If you are trying to set up an SFTP pull or an SFTP feed with public key authentication and you get a "connection refused" error, check with your network teams. Medallia has no IP firewalls that would be blocking such traffic on our end. We typically see this when a network device on the client side is performing a transparent packet inspection or destination blocking. However, client IP addresses can be blocked if there are more than 5 connection attempts with the wrong authentication key or password.
Username
Account used by the external system to access the Medallia FTP/SFTP host, and also the Name of the feed specification.
Password
The password associated with the Login account. You may enter a custom password or pick one of the suggested strings.
Tip: Make a note of the password before clicking Save. Experience Cloud never shows the password value again.
Passphrase
Passphrase to use when Authentication type is Public key. It is associated with the key, and necessary to use the private key (similar to a password).

See SSH key pairs for a discussion of how to use and create authentication keys.

SFTP private key
Private key for generating SSH authentication signatures. This key must match the public key provided to the company by the person who set this up.

See SSH key pairs for a discussion of how to use and create authentication keys.

Schedule

Schedules determine when to automatically run an importer and ingest a file. For more details see Schedules.

Days of the week
Either Every day of the week, or only on the selected days.
Days of the month
Either Every day of the month, or only on the selected days.
Months
Either Every month of the year, or only in the selected months.
Time
Either at the specified time, or at the specified minute of the hour, every hour of the day.

Advanced

Send Processing Reports To
Email addresses (comma-separated) to receive the summarized processing report of successes and failures for that particular importer. Processing reports are created at a file level.
Directory
Directory on the remote system to retrieve the file, relative to the login directory.
Note: Start with a slash '/' when specifying an absolute path.
Directory Depth
Count of subdirectory level below the Directory location to search for files to pull. Use 0 (or blank) to search the named directory only. Otherwise, the feed pull searches subdirectories up to the level specified. For example, a depth of 1 searches just child directories, while a depth of 2 also searches grandchildren.
File Lifetime
Count of days to retain imported files and processing reports. After this many calendar days, the files will be purged from the data centers. Default is to use the Import Deletion Schedule setting on the Company settings screen. See the description of that field for considerations about choosing a value. To be compliant with the E.U. General Data Protection Regulation (GDPR), this value should be 30 days or less.

This setting does NOT affect files retained on company-hosted or Medallia-hosted FTP/SFTP hosts.

Important: To comply with GDPR policies, files are deleted after 30 days.
Pull After Date

Only pull files newer than this timestamp. This is useful when there are irrelevant historic files in the same directory.

Note: The feed pull never automatically retrieves the same file more than once.
File Regex

Regex that identifies files to process. Only files that match the regex are processed by this feed. To match all files, use this expression:

.*

This example

phone_.*.txt.pgp

matches these files:

iphone_20090101.txt.pgp
iphone_20090201.txt.pgp 

but not this file:

property_20090101.txt.pgp 

This example

OmniExport-\d+-\d+\.csv

matches these files:

OmniExport-200901-1201.csv
OmniExport-20090501-01.csv
Disable duplicate checking across Feed Pulls
Allow the method to pull a file already retrieved by another import method. Otherwise, when off, only one import method may retrieve a file. This setting is useful, for example, when a company wants to use the same file for updating the Org Hierarchy and for sending invitations.
Remove source file after successful transfer
Removes the source file from the server once it has been transferred to Medallia Experience Cloud but before processing occurs. When off, the source file remains on the server and the file's attributes (filename, size, modification timestamp, etc.) determine whether the file should be excluded from future pulls.