SFTP

Provide interaction details to Agent Connect via SFTP.

A Secure File Transfer Protocol (SFTP) integration allows you to transfer reports of customer interactions to Medallia Agent Connect, which then sends surveys and gathers feedback data for the reported interactions.

Important: Files in your shared directory (/sftp-bulk-requests-v2/userName) will be removed after 14 days.

Integration process

To implement an SFTP integration, follow the steps below:

  1. Create a test file containing information captured for customer interactions.

    At minimum, the file must contain the customer email, the team member email or ID, and the channel used for the interaction. Optionally, the file can include information such as the channel of the interaction, tags you want applied to the interaction, and the case number.

  2. Create a public SSH key.

    A Medallia team member will use this key to generate credentials to access the Agent Connect SFTP server. The key must use RSA encryption of 2048 bits or greater. For more information, see SSH key pairs.

  3. Build an automation to transfer files to the Agent Connect SFTP server.

    The DNS name is sftp-v2.stellaconnect.net.

    Note:

    If your company requires PGP encryption, use the Agent Connect public PGP key to encrypt files before sending, and notify your Medallia representative that you are doing so.

    You can download the key as an ASC file or copy the details below:

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    
    mQENBGLsC64BCADkyxSJ10mg/v+bTT9NDP1wEBDU2O9G72M8NGPWt53zt439xXdg
    KiFfiIeqyywl+ISPNFKavezowHJTUg7SgJQlUoqqeLUV92Pojf9RSffkKjTDnGkt
    D3l9P5cnKcLUMTs1bTH7otEbEGJmzqmES0CTAuCo66xTNGtq371L6+SA6N5BjzFF
    JLq52JwtU8jRwFtxcpRvrEudxVS5eGhlbp5dfMUGgwGdYkxEfJX5XTRPcx6gYWxF
    oX4/Y4QSKjBPb0VGhfyoy7xh0fCqf2NKcoM6t5nNiymzL8FxtN1pgArdo5Rlnl3R
    1AToWJmLGDm/fozQgK99UL0TpT8No1lPIzvVABEBAAG0LlN0ZWxsYUNvbm5lY3RQ
    R1AtVjMgPHNnb29kc3RlaW5AbWVkZGFsbGlhLmNvbT6JAU8EEwEIADkCGwMCF4AW
    IQRErDFLTz13+fMWBDasclrUdGoGKAUCaXFiHwULCQgHAgYVCgkICwIFFgIDAQAC
    HgUACgkQrHJa1HRqBijAAAf/ROVWmFUUato6ynR31LhgqOt17Jv4UlqcVL+n0Lah
    GUBPVjG8zO5GSqSQHGWxAbv3M3larJfjYNbvI4r/OteOfN+xLw3FS7tjqLE9O6r1
    sH4bgCA01zYqj9FaRdje7LRe+j1+jNfA0P2NV8PdFjP1B5+aaBt2g8t+0wh2lyzH
    e8FlCcbC6FcFH3OvtexgAInMctHQbb3ko8tYqHtQnK0VA0jc3PQqnQvnAN1LfHel
    5A+PIk7e+0jnZlSNPYNtvfp2iwkW7QnsZ5i7eIxsVewQ///6q4FwCaHkoxb9z1+9
    qxDMx5ZHVQzQWenl+COuvAZWEqbdxThm81H8goB8/SplAbkBDQRi7AuuAQgArqL6
    0jMuWsuRPlihxLA4QVUyR7kWIVgSHLq6qTwfvlGzr3XtcVnPFUvaDTjh7/tnrm17
    phFMdcpr1eei3SPBq1cc77q7fJU1FG44GHoxs8HmXYXTP1lkmqUv9lxRZMQfS39g
    9riQmeNx51Z/x+tLkn1ZHqMxYJkON8rIEpBg7/OZ3bhOfQr/Dy/k+P4oxh1zG9us
    yhnfASgdgYu6oj5ZcUymJ8cQXFIf2COwZUxeEe3NEtImi5nsX7LiJ3/fYirnOBt3
    08I7HEESZbaxlMNW9l5PJsClOjpeYnB8ImjgLXuADFT6PO02Li1YBXgFqOcv6vTz
    4uA6J/ZpnAtFHLij/wARAQABiQE2BBgBCAAgFiEERKwxS089d/nzFgQ2rHJa1HRq
    BigFAmLsC64CGwwACgkQrHJa1HRqBihgKwf/WB6sKvfM5w0HTX8FicTLKl9BjKny
    iXmPqua1M3zDEvtC8AZRAId587x3ciAKaaG2Fa+IFUF97UngtsopY+myA9z+d8Gm
    5htx9XeCfcGX47pwLFimgjEx+edhE8h7xtfRknKuBEvbQ6fvW7T11qNyUEC9AaJX
    pYoIEwyK8NXrftlsf8431EaqY2iJ3ftgzlYf76SF6EzftrvlM9HA52hbYQR//tP1
    PUVlIIrkxjx/AeB5uUcChS8PQIiKnBVFeirn7H352Usvb7Zgzq1ZRgrIGD1LznAg
    6ebbh6sF22/mSUQTO612y1pjWckNm0Z0oGCWsSwSlYKhWvYZGTaMR8cm7g==
    =ThAx
    -----END PGP PUBLIC KEY BLOCK-----
    
  4. Test the connectivity of the integration by sending the test file you created.

  5. Schedule reports to be sent as frequently as possible.

At this point, you will be ready to begin using your automated integration with Agent Connect.

Endpoint

Standard SFTP

Use this endpoint to send files via standard SFTP:

Endpoint sftp-v2.stellaconnect.net
Port22
Directory/sftp-bulk-requests-v2/userName

Where userName is provided by your implementation specialist

Static SFTP

Use this endpoint to send files via static SFTP, which provides a fixed connection endpoint:

Endpoint ssftp-v2.stellaconnect.net
Port9222
IP129.80.119.205
Directory/sftp-bulk-requests-v2/userName

Where userName is provided by your implementation specialist

The following table lists the required and optional fields to include for each interaction:

FieldDescriptionRequired?
custom_idUnique ID of the customerNo
nameName of the customerNo
emailEmail address of the customerYes
do_not_sendWhen true, the survey request is not sentNo
languageThe language of the surveyNo
tagsCall center tags associated with the interactionNo
countryThe customer's country ID, used for identifying PIINo
brandThe company brand associated with the interactionNo
external_interaction_idInteraction ID used in your call center softwareNo
custom_idUnique ID of the userYes (if email is not used)
emailEmail address of the userYes (if custom_id is not used)
channelThe channel used for the interaction (email, phone, or chat)Yes
external_urlLink to the ticket in your call center softwareNo

File format

With an SFTP integration, flat files are used as inputs to the Agent Connect batch sending system. Use the file format guidelines in this section to make the integration as seamless as possible.

  • All files must have a name with one of the following structures. The <company_subdomain> in the examples below is a unique name for a data source that does not change and can be referenced within Agent Connect to uniquely identify your company. If you need help identifying your company subdomain, contact a Medallia expert.

    • For CSV files — <company_subdomain>_yyyymmddhhmmss.csv

    • For PGP files — <company_subdomain>_yyyymmddhhmmss.csv.pgp

  • All files must be in ASCII format and must not contain any non-readable characters.

  • You must choose a field delimiter, preferably the pipe character (|). The character you choose as a delimiter must never occur naturally in the data.

  • Values for string data fields must be surrounded by opening and closing quotation marks.

  • Boolean data fields must have either "true" or "false" as a value. The value must be surrounded by opening and closing quotation marks.

  • Items in array data fields must be separated by commas and not include spaces. If you need to separate words within an item in the array, use dashes (-) or underscores (_). The entire array must be surrounded by opening and closing quotation marks. For example: "red,green,light-blue,dark-blue".

  • For fields with no data, use opening and closing quotes with no space.

  • The first row of the file must be a header that denotes field labels. This row is a delimiter record that names each field in subsequent rows and serves as the schema for your data. The position of each field label (from left to right) must correspond to the position of the data for that field in subsequent rows. Each field label must be surrounded by opening and closing quotation marks. The header row must be delimited by a newline character (\n). For example:
    “customer name”|”customer email”|”employee email”|”do not send”|”channel”|”external interaction id”|”external url”|”tags”\n
  • The second and all subsequent rows must each contain data for a customer interaction. Each row must have the same number of fields as the header row, with each field having the same meaning in each row. Each field label must be surrounded by opening and closing quotation marks. Each data row must be delimited by a newline character (\n). For example:
    “Simone”|”simone@example.com”|”paul@blancapeak.com”|”false”|”chat”|”49288523”|"https://blancapeak.your-source-system.com/cases/49288523"|”product-defect,return,vip"\n

The following example shows how a short file might be formatted:

"customer name"|"customer email"|"employee email"|"do not send"|"channel"|"external interaction id"|"external url"|"tags"/n
            “Simone"|"simone@example.com"|"paul@blancapeak.com"|"false"|"chat"|"49288523"|"https://blancapeak.your-source-system.com/cases/49288523"|"product-defect,return,vip",/n
            “John"|"john@example.com"|"paul@blancapeak.com"|"false"|"chat"|""|""|"return"“Jane"|"jane@example.com"|"paul@blancapeak.com"|"false"|"chat"|"112233"|"https://blancapeak.your-source-system.com/cases/112233"|"return,vip"/n