Skip to main content
Loading...
Skip to article
  • Qualtrics Platform
    Qualtrics Platform
  • Customer Journey Optimizer
    Customer Journey Optimizer
  • XM Discover
    XM Discover
  • Qualtrics Social Connect
    Qualtrics Social Connect

Extract Data from Amazon S3 Task


Was this helpful?


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The feedback you submit here is used only to help improve this page.

That’s great! Thank you for your feedback!

Thank you for your feedback!


About Extracting Data from Amazon S3

Amazon Simple Storage Service (also known as Amazon S3) is a service where you can store data. With workflows, you can easily automate the extraction of data from Amazon S3 for use in Qualtrics.

Example: You keep up-to-date spreadsheets of employee contact information stored on Amazon S3. You’d like to periodically upload this employee data to Qualtrics for use in your Employee Experience programs.

Before You Get Started

Before you get started extracting data from Amazon S3, take the following considerations into account:

  • What do you want to do with your data? Take a look at the available loader tasks for a list of options.
  • Do your files fit a consistent format? For example, files you hope to import in the same workflow should have the same headers / columns / fields, even if the values differ.
Example: You set up a workflow to regularly upload contacts from Amazon S3 to XM Directory. Every file has columns for Firstname, Lastname, Email, Phone, UniqueID, and Location.

Connecting Qualtrics to AWS

S3 Permission Required for an IAM Role

IAM roles must have the following S3 permissions to connect their AWS account. For more details on S3 access management, see AWS’s documentation.

  • s3:DeleteObject
  • s3:GetObject
  • s3:ListBucket
  • s3:PutObject
  • s3:AbortMultipartUpload
  • s3:ListMultipartUploadParts

Example: Below is a sample role policy:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::s3bucketname"
]
},
{
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::s3bucketname/QualtricsPrefix/*"
]
}
]
}
Example: Below is a sample trust policy:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Principal": {
"AWS": "604163242721"
},
"Condition": {
"StringEquals": {
"sts:ExternalId": "60ebef7bdexternalidc38d36bc2a6b75cd14f02c73"
}
}
}
]
}

S3 RESOURCES REQUIRED FOR AN IAM USER

IAM users must have the following S3 resources to connect their AWS account. For more details on S3 access management, see AWS’s documentation.

  • arn:aws:s3:::bucket-name/*
  • arn:aws:s3:::bucket-name

Adding an AWS Account

These steps cover how to connect your personal Qualtrics account to an Amazon Web Services (AWS) account.

Qtip: See more on AWS access keys, secret keys, and and IAM policy on AWS’s documentation.
  1. Create a workflow with an Extract data from Amazon S3 task.
  2. Click Add a user account.
    new window where you're configuring amazon task, button in upper-right for adding a user account
  3. Add a display name for the account. This name will only be used internally to refer to this account.
    connecting an aws account
  4. Copy the Account Id and External Id displayed to you.
  5. In AWS, configure an IAM role using the Account Id and External Id. See this AWS support page for more information on IAM roles in AWS.
  6. Enter the Amazon Resource Name associated with the IAM role you created.
  7. Enter your Region. See this AWS support page if you need help finding your region.
  8. Click Connect account.
Qtip: The ability to authenticate using the access key and secret key has been deprecated. You can view past credentials by clicking Switch to older version at the top of the page, but new credentials must be set up using an AWS IAM Role as described above.
the switch to old authentication link

Connecting an Account as a Brand Administrator

As a Brand Administrator, you can add an AWS account to share with multiple users in your license. To add a shared AWS account, go to the Extensions section of the Admin tab and search for the AWS extension you want to add an account for.
searching for s3 in the extensions section of admin

Once you’ve selected your extension, follow the steps above for adding an AWS account. You can also choose which users have access to the account.

Setting Up an Extract Data from Amazon S3 Task

Qtip: There is a 1GB file size limit.
  1. Click the navigation menu in the top-left.
    creating a stand alone workflow
  2. Choose Workflows.
  3. Click Create a workflow.
  4. Determine whether the workflow should be Scheduled or Event-Based. For a comparison of these options, see scheduled workflows vs. event-based workflows.
    Qtip: Generally, we recommend using a scheduled workflow with extractor tasks to automate them.
  5. If desired, rename your workflow by clicking the workflow name at the top.
    Adding a task to a scheduled workflow
  6. Determine when the workflow should run (if a scheduled workflow) or the event that triggers the workflow (if an event-based workflow).
  7. Click the plus sign ( + ) and select Task.
  8. Select Extract data from Amazon S3.
    two amazon tiles with green bucket icons
  9. Choose the Amazon Web Services (AWS) account to extract files from. Any accounts added by Brand Administrators, as well as accounts you’ve added yourself, will be listed here.
    Adding an AWS account
  10. If you want to add new AWS account credentials, click Add new account and follow the steps in the connecting an AWS account section.
  11. Click Next.
  12. Enter the S3 bucket name you’d like to pull data from.
    Fields described needed to upload to Amazon S3 bucket. these settings say to delete the processed files
  13. Type a File name prefix. All files with your specified prefix will be processed. If the s3 role only allows access to a specific S3 bucket prefix, you must include the prefix here.
  14. Select a file type to process. You can choose from the following:
    • CSV (comma separated values)
    • TSV (tab separated values)
  15. Under File processing after import, choose between the following:
    • Delete the processed files (default): Delete files from AWS after they are extracted.
    • Move the processed files: Move the processed files to another bucket. If you choose this option, you’ll be asked to enter the name of the S3 bucket where you’d like processed files to be stored.
      File processing after import: move the processed files. Processed bucket name: enter the S3 bucket name where the processed files will be stored
    • Rename the processed files: Rename files after they’re processed. If you select this option, you’ll be asked to provide a prefix you’d like to be added to file names after they’re processed.
      File processing after import: rename the processed files. File name prefix: a string prefix that is used to save all processed files
  16. Select this option if you want to Use PGP to encrypt your files.
  17. Under Upload sample file, add a sample file that has the same headers as the files that will be processed whenever the workflow runs. Click Choose file to upload the file from your computer.
    Qtip: If you’d like, you can download the sample files in the task, or download the files in the Example Files section. The only supported file encoding format is UTF-8. Some spreadsheet softwares save files as Unicode UTF-8, which is different from UTF-8, if you are getting unexpected errors. Please ensure that you are exporting in UTF-8 format and not Unicode UTF-8. See CSV & TSV Upload Issues for more troubleshooting steps.
    Sample files: employee data, salesforce account data, salesforce contact data, survey response data
  18. Verify fields in the file. The table will display the column headers (which represent the individual fields) and their values for the first 2 rows of data.
    Preview of file as it will be uploaded to AWS

    Qtip: If you want to upload a different file or make other changes, click Edit the setup.
  19. When you’re finished, click Save.
  20. Click the plus sign ( + ) and select Task to set up the task that should follow your  data extraction. This should be a data loader task. See available loader tasks for a list of options.
    Adding a task or a condition to a workflow
Qtip: To restrict what happens next, you can also create conditions based on the number of files or rows imported before you add a loader task.