<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Natalia Polomkina</title>
    <description>The latest articles on DEV Community by Natalia Polomkina (@nataliapolomkina).</description>
    <link>https://dev.to/nataliapolomkina</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2316641%2Fce1f45a5-1ebb-4250-b7d5-c94eda58e64b.jpg</url>
      <title>DEV Community: Natalia Polomkina</title>
      <link>https://dev.to/nataliapolomkina</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nataliapolomkina"/>
    <language>en</language>
    <item>
      <title>Seamlessly Connect Salesforce to an SFTP Server in Multiple Ways</title>
      <dc:creator>Natalia Polomkina</dc:creator>
      <pubDate>Fri, 14 Feb 2025 14:13:47 +0000</pubDate>
      <link>https://dev.to/nataliapolomkina/seamlessly-connect-salesforce-to-an-sftp-server-in-multiple-ways-1bhb</link>
      <guid>https://dev.to/nataliapolomkina/seamlessly-connect-salesforce-to-an-sftp-server-in-multiple-ways-1bhb</guid>
      <description>&lt;p&gt;Negative findings could mar life with auditors. If you carelessly transfer exported files from Salesforce to an unsecured folder, you’re up for a data protection policy violation. It’s time to consider Salesforce SFTP integration.&lt;/p&gt;

&lt;p&gt;Unsecured file locations are breeding grounds for data breaches, which are costly mistakes. According to &lt;a href="https://www.ibm.com/reports/data-breach?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;IBM’s Cost of Data Breach Report&lt;/a&gt;, the cost of data breaches keeps increasing, reaching USD 4.88 million in 2024!&lt;/p&gt;

&lt;p&gt;SFTP is a secure way to place sensitive information from Salesforce, mainly exported CSV files. It’s a revamped FTP (File Transfer Protocol) with security.&lt;/p&gt;

&lt;p&gt;This article will discuss what SFTP is and the 3 approaches to Salesforce SFTP integration. Below are the main points we are going to discuss.&lt;/p&gt;

&lt;p&gt;Let’s dive in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is SFTP and Why Is It Important
&lt;/h2&gt;

&lt;p&gt;SFTP is a Secure File Transfer Protocol. It is a network protocol that allows access, transfer, and management of files over a secure connection, ensuring your data is encrypted. This is also known as SSH File Transfer Protocol because it is an extension of &lt;a href="https://en.wikipedia.org/wiki/Secure_Shell" rel="noopener noreferrer"&gt;Secure Shell (SSH)&lt;/a&gt; protocol 2.0.&lt;/p&gt;

&lt;p&gt;Let’s explain this a bit with an example. Files like CSV are readable. So, if you transfer files like this and there’s a line that says “Income 48000000”, it will be sent to the network that way. It will also be written in readable form.&lt;/p&gt;

&lt;p&gt;With SFTP, the transfer is encrypted, so those sniffing the network for sensitive information will read cryptic information. “Income 48000000” may look like “#$%^@ XY!!!!!!”. Accessing the stored file will also make it difficult for cybercriminals. What a relief if you want this a secret. Unlike FTP, SFTP protects your data from tampering and theft.&lt;/p&gt;

&lt;p&gt;Protecting sensitive data is no longer just an option. It’s a very important requirement. Companies use SFTP to transfer and store files because it’s a tried and tested way to share data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use SFTP with Salesforce
&lt;/h2&gt;

&lt;p&gt;Salesforce SFTP integration allows businesses to exchange files between Salesforce and external systems. The following are the reasons to consider SFTP for import and export in Salesforce:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data protection:&lt;/strong&gt; SFTP safeguards sensitive data coming in and out of Salesforce and stored as files. It will be an easy data leak if finance and healthcare data are stored in an unsecured folder.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance:&lt;/strong&gt; SFTP will help your organization comply with data security standards like GDPR and HIPAA.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency and automation:&lt;/strong&gt; There are tools both from Salesforce and elsewhere that allow easy automation through Salesforce SFTP integration. This reduces human error and slow manual processing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6 Considerations Before Data Integration
&lt;/h2&gt;

&lt;p&gt;Consider the following points before starting an integration project with Salesforce. This will affect the success of your integration.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Data Compatibility
&lt;/h3&gt;

&lt;p&gt;You can import and export data into Salesforce with CSV files. Other formats supported are XML, JSON, and Parquet files. Using third-party integration tools can increase this further. They have more data connectors aside from the file formats mentioned.&lt;/p&gt;

&lt;p&gt;Note that Salesforce also enforces other restrictions. Data type formats, for example. So, make sure you consult the &lt;a href="https://help.salesforce.com/s/articleView?language=en_US&amp;amp;id=data.c360_a_supported_file_formats.htm&amp;amp;type=5" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;. Meanwhile, SFTP can store many file types. However, depending on the SFTP server configuration, it may restrict certain file types for security reasons. Consult the server administrator for information on supported file types.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The point:&lt;/strong&gt; Ensure the file and data types are compatible between the source and target to avoid integration errors.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Requirements for Compliance
&lt;/h3&gt;

&lt;p&gt;Importing and exporting data to and from Salesforce should follow data protection regulations.&lt;/p&gt;

&lt;p&gt;Storing the data in an SFTP server will increase the likelihood of compliance. But make sure the server is configured to support the latest encryption methods. Access controls should also be in place and only for authorized accounts. Another requirement is audit trails and logs. This will keep tabs on who and when data is accessed and modified.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The point:&lt;/strong&gt; Consider security in your integration from the start to avoid non-compliance and hefty penalties.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Safety Procedures
&lt;/h3&gt;

&lt;p&gt;In addition to security for compliance, other configurations merit the safety of your data during transfer and storage. This includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IP whitelisting so the SFTP server will reject any other external machine except the ones you allow.&lt;/li&gt;
&lt;li&gt;Multi-factor authentication because passwords are not enough anymore.&lt;/li&gt;
&lt;li&gt;Firewalls and intrusion detection systems.&lt;/li&gt;
&lt;li&gt;Regular security updates from the SFTP server and Salesforce.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The point:&lt;/strong&gt; Make it harder for intruders to access your sensitive information by hardening security in SFTP and Salesforce.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Impact on Performance
&lt;/h3&gt;

&lt;p&gt;Large imports and exports can affect the performance of both Salesforce and the SFTP server. Consider scheduling the integration run during non-office hours. Use incremental updates instead of bulk batch updates if your tool allows it. Real-time integration can be harder but the impact on both systems is less.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The point:&lt;/strong&gt; Examine the size of your data and determine the best integration approach to keep the SFTP server and Salesforce running smoothly.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Backup and Recovery Plans
&lt;/h3&gt;

&lt;p&gt;Integrations can fail and can end up causing data corruption. The old but gold trick is to back up your data regularly using reliable tools. Then, test them to see if the backup can be restored completely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The point:&lt;/strong&gt; A backup and recovery plan can save your day when a data disaster strikes.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Data Quality
&lt;/h3&gt;

&lt;p&gt;Part of the success of your data integration is data quality. The resulting file in SFTP or the new and updated records in Salesforce should be correct, updated, and clean.&lt;/p&gt;

&lt;p&gt;Common mistakes include duplicate records, null values, missing data, and wrong &lt;a href="https://skyvia.com/learn/what-is-data-mapping" rel="noopener noreferrer"&gt;mapping&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The point:&lt;/strong&gt; Make sure your data to export or import is clean and reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary of Methods to Connect SFTP and Salesforce
&lt;/h2&gt;

&lt;p&gt;Several options exist to make a Salesforce SFTP connection and integrate data between them. Salesforce itself and third-party vendors provided integration tools for this purpose. You can also code using your favorite programming language.&lt;/p&gt;

&lt;p&gt;Each of the methods has its advantages and disadvantages. It depends on your expertise, use cases, and preferences if you will choose one method over the other.&lt;/p&gt;

&lt;p&gt;Let’s describe each method in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Native Methods to Connect SFTP and Salesforce
&lt;/h2&gt;

&lt;p&gt;Native methods mean the integration tools you will use are already in the Salesforce ecosystem. These tools are tightly integrated into Salesforce CRM, so you don’t need to set it as a source or target. We will discuss two: Salesforce Data Cloud and Salesforce Data Loader. The former is a cloud-based integration tool, and the latter is a client-server app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 1: Salesforce Data Cloud SFTP Integration
&lt;/h3&gt;

&lt;p&gt;Salesforce Data Cloud is a part of Salesforce for integrating its data into external systems, including files in an SFTP server. It supports APIs and data management tools for streamlined file transfers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Salesforce Data Cloud is best for companies already using Salesforce Data Cloud to centralize customer data and automate secure file sharing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built into Salesforce. There’s no need for external tools.&lt;/li&gt;
&lt;li&gt;Highly secure and scalable for enterprise use cases.&lt;/li&gt;
&lt;li&gt;Seamlessly integrates with Salesforce’s data management features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires familiarity with Salesforce Data Cloud features and setup.&lt;/li&gt;
&lt;li&gt;Some Data Cloud features need add-on licenses. Consult your Salesforce Account Executive for more information.&lt;/li&gt;
&lt;li&gt;Available only to Salesforce Data Cloud users.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://help.salesforce.com/s/articleView?language=en_US&amp;amp;id=000396380&amp;amp;type=1" rel="noopener noreferrer"&gt;Salesforce Data Cloud is Free for Enterprise Edition and above&lt;/a&gt; only.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Step 1. Setting up an SFTP Connection in Salesforce Data Cloud
&lt;/h4&gt;

&lt;p&gt;You need an SFTP connection before you can import or export using Salesforce Data Cloud. Below are the steps to create it. This assumes you already have a valid Salesforce Data Cloud account and you already signed in.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to Data Cloud Setup.&lt;/li&gt;
&lt;li&gt;Look for External Integrations and select Other Connectors.&lt;/li&gt;
&lt;li&gt;Click New, choose Secure File Transfer Protocol (SFTP), then click Next.&lt;/li&gt;
&lt;li&gt;Enter a connection name, a connection API name, and the authentication details (Authentication method, username, password, etc.)&lt;/li&gt;
&lt;li&gt;Review your setup and click Test Connection.&lt;/li&gt;
&lt;li&gt;Once the test connection is successful, click Save.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For hardening the security of the SFTP connection, consult the &lt;a href="https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-set-up-sftp-connection.html" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2. Setting Up an SFTP Data Stream for Import
&lt;/h4&gt;

&lt;p&gt;After setting up an SFTP connection, you can now prepare a Data Stream to import a file like CSV. Here’s how it goes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On the Data Stream tab, click New.&lt;/li&gt;
&lt;li&gt;Select Secure File Transfer (SFTP) and click Next. Use the SFTP connection created using the steps in the previous section.&lt;/li&gt;
&lt;li&gt;Enter the Import details, like directory or folder, filename, and source.&lt;/li&gt;
&lt;li&gt;Click Next and create a Data Lake Object (DLO) or use an existing DLO.&lt;/li&gt;
&lt;li&gt;Edit the fields identified in the table if you’re creating a new DLO.&lt;/li&gt;
&lt;li&gt;Input a DLO label, API name, and object details like Primary key, Category, Record Modified Field, and Organization Unit Identifier.&lt;/li&gt;
&lt;li&gt;Optionally add formula fields and/or click Next.&lt;/li&gt;
&lt;li&gt;Enter the deployment details, and click Deploy.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The new Data Stream is now created. For more details, consult the &lt;a href="https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-create-sftp-data-stream.html" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 2: Salesforce Data Loader for SFTP Integration
&lt;/h3&gt;

&lt;p&gt;Salesforce Data Loader is a client app available on Windows and Mac. It allows bulk data import and export. It supports large CSV files with up to 5 million records in Bulk API 1.0 and 150 million in Bulk API 2.0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Salesforce Data Loader is best for companies needing periodic, large-scale data transfers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy to use, wizard-based import and export.&lt;/li&gt;
&lt;li&gt;Minimal setup for businesses already using Salesforce.&lt;/li&gt;
&lt;li&gt;Automatically maps CSV columns with the same name as the Salesforce column.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports CSV file format only.&lt;/li&gt;
&lt;li&gt;Requires workarounds if the source or target is an SFTP folder.&lt;/li&gt;
&lt;li&gt;Scheduling integrations is not supported.&lt;/li&gt;
&lt;li&gt;Not ideal for real-time data sync or complex workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step-by-step guide&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Salesforce Data Loader does not support SFTP directly, but this section will discuss workarounds for using it with SFTP. I will use a Windows 11 machine for this discussion.&lt;/p&gt;

&lt;p&gt;You can access the installer from the Salesforce Setup page. Then, navigate to &lt;strong&gt;Integrations -&amp;gt; Data Loader -&amp;gt; Downloads&lt;/strong&gt;. See it below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjawuff2sx2710zo87rgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjawuff2sx2710zo87rgb.png" alt="Image description" width="800" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will be taken to the Salesforce Data Loader Downloads page. Alternatively, you can go straight by using &lt;a href="https://developer.salesforce.com/tools/data-loader" rel="noopener noreferrer"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So, download the app, install it, and follow the instructions later. After a successful installation, you should see a similar screen below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdj4vbarlisgt46rkiqh8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdj4vbarlisgt46rkiqh8.png" alt="Image description" width="800" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see from the above that it supports several operations like import &lt;strong&gt;(Insert, Update, Upsert)&lt;/strong&gt;, &lt;strong&gt;Delete, Undelete, Export,&lt;/strong&gt; and &lt;strong&gt;Export All&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1. SFTP Workaround for Salesforce Data Loader
&lt;/h4&gt;

&lt;p&gt;You can avoid manually uploading and downloading CSV files after an import or export in Salesforce Data Loader. One way to do that is to make your SFTP server a mapped drive in Windows. So, if you map the SFTP server to, let’s say drive Z, you can import or export CSV files from that drive, like it is local to your PC. You can use tools like the open-source &lt;a href="https://github.com/winfsp/sshfs-win" rel="noopener noreferrer"&gt;SSHFS-Win&lt;/a&gt; or a similar tool to make this possible.&lt;/p&gt;

&lt;p&gt;The following are the steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the Command Prompt and install SSFHS-Win and WinFsp using Winget.
&lt;code&gt;winget install SSHFS-Win.SSHFS-Win&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Open File Explorer and right-click This PC.&lt;/li&gt;
&lt;li&gt;Click Map Network Drive and select a drive letter, like Z.&lt;/li&gt;
&lt;li&gt;On the folder box, type the path to the SFTP server in the format \sshfs\&lt;a href="mailto:sftp_username@sftp_hostname"&gt;sftp_username@sftp_hostname&lt;/a&gt;. Replace the sftp_username and sftp_hostname with your SFTP username and hostname.&lt;/li&gt;
&lt;li&gt;Click Finish and enter the SFTP password in the prompt.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you encounter connection or permission problems, consult your administrator. The SFTP server will now act like a regular Windows or USB drive.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2. How to Import Data from SFTP to Salesforce using Data Loader
&lt;/h4&gt;

&lt;p&gt;You can use the Insert, Update, or Upsert in Salesforce Data Loader to import CSV files into Salesforce. Let’s say you want to Upsert. Follow the steps below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Upsert&lt;/strong&gt;. Log in to Salesforce if asked.&lt;/li&gt;
&lt;li&gt;Select the Salesforce Object you want the data to be imported (e.g. Contact, Account).&lt;/li&gt;
&lt;li&gt;Choose the CSV file from the mapped SFTP server.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8goe1z0f9uxhxt4d6hv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8goe1z0f9uxhxt4d6hv.png" alt="Image description" width="632" height="642"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click Next, then a small window will appear showing the number of rows in the CSV, API usage, etc. Click OK.&lt;/li&gt;
&lt;li&gt;Choose the column to use for matching, then click Next.
(Optional) Relate using the look-up key to other Salesforce objects.&lt;/li&gt;
&lt;li&gt;Click Next, and map the CSV columns to Salesforce columns. See below:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4ae2iwnef3mbxgit11h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4ae2iwnef3mbxgit11h.png" alt="Image description" width="767" height="781"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose a results folder where Salesforce will dump data rows in CSV format. Click Finish.&lt;/li&gt;
&lt;li&gt;You can choose between &lt;strong&gt;View successes&lt;/strong&gt;, &lt;strong&gt;View errors&lt;/strong&gt;, or &lt;strong&gt;OK&lt;/strong&gt;. Choose OK to close the wizard.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F49vgof4mx0vja6c4kmpc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F49vgof4mx0vja6c4kmpc.png" alt="Image description" width="626" height="647"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, nothing else special happened within the Salesforce Data Loader. The mapped SFTP server made the difference.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3. How to Export Data from Salesforce to SFTP Using Data Loader
&lt;/h4&gt;

&lt;p&gt;You can also export from Salesforce to a CSV file into the mapped SFTP server. The steps are plain and easy to follow, as seen below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Export&lt;/strong&gt;, then select the Salesforce object you want to export and the path to the CSV file in the mapped SFTP drive.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fikgtirgw6oo61kf4tbfb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fikgtirgw6oo61kf4tbfb.png" alt="Image description" width="767" height="781"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt;, then choose the columns to include in the CSV file.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l8tvbt6erfrd4zf2xv1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l8tvbt6erfrd4zf2xv1.png" alt="Image description" width="767" height="781"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Finish&lt;/strong&gt;, then click &lt;strong&gt;Yes&lt;/strong&gt; when a prompt appears asking you if you want to proceed.&lt;/li&gt;
&lt;li&gt;The results will display the number of rows processed. You have the option to click &lt;strong&gt;View Extraction&lt;/strong&gt; or &lt;strong&gt;OK&lt;/strong&gt;. Choose &lt;strong&gt;OK&lt;/strong&gt; to close the window and finish the export.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6697s5ho4mge5d1rs9w1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6697s5ho4mge5d1rs9w1.png" alt="Image description" width="627" height="643"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are the native options Salesforce has in store for you. If you need more advanced workflows but easy to use, &lt;a href="https://skyvia.com/?utm_source=media&amp;amp;utm_medium=referral&amp;amp;utm_campaign=devto_salesforcesftp" rel="noopener noreferrer"&gt;Skyvia&lt;/a&gt; is a first-class Salesforce Data Loader alternative. It supports SFTP and has a scheduler for automated runtimes. This, along with other third-party methods, will be discussed next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integrate SFTP and Salesforoce using 3rd party tools
&lt;/h2&gt;

&lt;p&gt;Third-party integration tools provide easy-to-use and flexible solutions. It reduces the need for custom development or coding. They have pre-built connectors, including a Salesforce SFTP connector. Moreover, they provide graphical interfaces, making it easier to design integration pipelines.&lt;/p&gt;

&lt;p&gt;Here are some popular tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mulesoft&lt;/strong&gt; is an external product from Salesforce that offers robust integration solutions. Its Anypoint Platform provides pre-built connectors and APIs to make a Salesforce SFTP integration seamless. This is ideal for enterprises that have deep pockets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jitterbit&lt;/strong&gt; simplifies Salesforce-to-SFTP integration through its intuitive drag-and-drop integration builder. It’s designed for fast implementation without requiring coding skills. Advanced features are available for higher-paid tiers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dell Boomi&lt;/strong&gt; is an Integration Platform as a Service (iPaaS) that supports robust Salesforce and SFTP integration. It supports real-time Salesforce data processing and file sharing but requires a steeper learning curve.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skyvia&lt;/strong&gt; is a no-code/low-code integration platform offering simple to complex integrations. It’s a 100% cloud solution to &lt;a href="https://skyvia.com/data-integration/integrate-salesforce-sftp" rel="noopener noreferrer"&gt;integrate Salesforce SFTP&lt;/a&gt;. It offers a free tier that you can try now, but you can extend the capabilities through paid tiers. This is ideal for small to large data integration projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using third-party tools is best when you have limited development resources, but you need a quick implementation. This will also allow real-time integration if the tool has that feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ease of Use:&lt;/strong&gt; Drag-and-drop interfaces and pre-configured templates make it easy even for non-technical users. Pre-built connectors, components, and templates significantly reduce the setup time needed compared to custom development.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation:&lt;/strong&gt; Scheduled data exports/imports reduce manual effort and errors you can make.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability:&lt;/strong&gt; Tools can handle increasing data volumes and complex workflows as your business grows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error Handling:&lt;/strong&gt; Advanced tools provide logging and error notifications to troubleshoot failed integrations efficiently.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; Some tools have hefty subscription fees, which is bad for startups and small businesses. Advanced features like API customization or support for specific file formats may only be available in higher pricing tiers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning Curve:&lt;/strong&gt; Unfamiliar interfaces may need initial user training.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limited Customization:&lt;/strong&gt; Some pre-built workflows and templates may not cover every unique business requirement. This will need workarounds and additional setups.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependency on Vendor:&lt;/strong&gt; Relying on a third party means you’re at their mercy on support, update schedules, and potential downtime.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re on this path, make sure the tools you choose are reliable, easy to use, and with reliable support.&lt;/p&gt;

&lt;p&gt;Let’s have examples using Skyvia.&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 3: How to Integrate Salesforce and SFTP Using Skyvia
&lt;/h3&gt;

&lt;p&gt;Skyvia is a cloud-based data platform that can do simple import and export, complex data flows, automation, and more. It uses a graphical user interface to create integration packages. Two hundred plus reviewers in G2 gave it a &lt;a href="https://www.g2.com/products/skyvia/reviews#reviews" rel="noopener noreferrer"&gt;4.8 out of 5 stars&lt;/a&gt;. Ease of use is the most prominent in the reviews.&lt;/p&gt;

&lt;p&gt;But being easy doesn’t mean it’s lacking flexibility. It offers several ways to integrate 2 or more data connections, including SFTP and Salesforce. From simple to complex, you can find an approach that will suit your needs.&lt;/p&gt;

&lt;p&gt;This tutorial will start with creating 2 connections. Then, moving on to creating Salesforce SFTP integrations. But before we proceed, &lt;a href="https://id.skyvia.com/core/register?signin=98b1d454a952557caf7d4e24b61e9184" rel="noopener noreferrer"&gt;register for free&lt;/a&gt;. You can follow along if you have your Salesforce and SFTP credentials provided to you.&lt;/p&gt;

&lt;p&gt;Let’s begin with the 2 connections.&lt;/p&gt;

&lt;h4&gt;
  
  
  How to Create Skyvia Connections
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Connections&lt;/strong&gt; refer to your Salesforce and SFTP connections. You can’t make integrations without these connections. So, you need to create these first.&lt;/p&gt;

&lt;p&gt;To do that, log on to Skyvia and follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the + &lt;strong&gt;Create New&lt;/strong&gt; button from the top of the Skyvia workspace, then click &lt;strong&gt;Connection&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvruasionuz64dd9nrdzu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvruasionuz64dd9nrdzu.png" alt="Image description" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select from the list of connectors. There are hundreds of them. So, filter the list by typing ‘sales‘ or ‘salesforce’ from the filter box. Then, click Salesforce.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64ud9al813q7r70spz7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64ud9al813q7r70spz7p.png" alt="Image description" width="800" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fill out the form and sign in to Salesforce to get an OAuth token.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3p4o2pns6zh4xsc3byqa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3p4o2pns6zh4xsc3byqa.png" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Test Connection&lt;/strong&gt;. Once the test is good, you will see a &lt;strong&gt;Connection is successful&lt;/strong&gt; in the upper right.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rename the &lt;strong&gt;Untitled&lt;/strong&gt; connection name with your desired connection name (e.g., Salesforce prod, Salesforce test, etc.). Below is mine, and I named it &lt;strong&gt;salesforce-developer&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcje9j3jcospanjd6nbe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcje9j3jcospanjd6nbe.png" alt="Image description" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Finally, click the &lt;strong&gt;Create Connection&lt;/strong&gt; button to save your new connection.&lt;/li&gt;
&lt;li&gt;Repeat from #1, but this time, select the SFTP connector and fill out the form. Have your valid SFTP credentials with you. Below is my successful SFTP connection:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp39vnvk4he7grouvvaj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp39vnvk4he7grouvvaj7.png" alt="Image description" width="800" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating Skyvia Connections is a simple fill-in-the-blanks. If you’re having problems with the credentials, consult your system administrator.&lt;/p&gt;

&lt;h4&gt;
  
  
  How to Import Data from SFTP to Salesforce Using Skyvia
&lt;/h4&gt;

&lt;p&gt;Skyvia Import is one of the simplest methods to integrate SFTP into Salesforce. It is a straightforward process with the following steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click + Create New and select Import.&lt;/li&gt;
&lt;li&gt;Once you are inside the Import integration page, choose CSV from Storage Service.&lt;/li&gt;
&lt;li&gt;Then, select the SFTP connection you created earlier as your source.&lt;/li&gt;
&lt;li&gt;Next, select the Salesforce connection you created earlier as your target.&lt;/li&gt;
&lt;li&gt;Click Add New for a new task, then choose the CSV file that you need to import on the next page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsezi0dsbm0pay773fef.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsezi0dsbm0pay773fef.png" alt="Image description" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose the Salesforce object and the operation to perform (insert, update, upsert, delete).&lt;/li&gt;
&lt;li&gt;Map the CSV columns to Salesforce object columns. Ensure your CSV columns match the data type of the Salesforce object column.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuebu5vuwlaiwnnhs2fcj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuebu5vuwlaiwnnhs2fcj.png" alt="Image description" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add more tasks depending on the number of CSV files you want to import. Follow steps 5 to 7.&lt;/li&gt;
&lt;li&gt;Give your Import integration a name and click &lt;strong&gt;Create&lt;/strong&gt; to save it.&lt;/li&gt;
&lt;li&gt;If you want to run this import regularly, create a schedule by clicking &lt;strong&gt;Schedule&lt;/strong&gt; in the upper-left corner of the page. Otherwise, you can run the Import integration by clicking &lt;strong&gt;Run&lt;/strong&gt; in the upper-right corner of the page. Below is a sample for setting up a schedule in Skyvia. The schedule will run daily at 12 midnight.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0jlky2uhrv1as01qpd8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0jlky2uhrv1as01qpd8.png" alt="Image description" width="662" height="676"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s how to do the Import. If you get used to it, you can create a simple 1-task Import in Skyvia in under 3 to 5 minutes. That’s how easy it is. Below is the result of the above Skyvia Import setup:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0pv950uf8dx44ajqzjz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0pv950uf8dx44ajqzjz.png" alt="Image description" width="800" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  How to Export Data from Salesforce to SFTP Using Skyvia
&lt;/h4&gt;

&lt;p&gt;Exporting Salesforce data to SFTP is also easy using Skyvia Export. Below are the steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click + &lt;strong&gt;Create New&lt;/strong&gt; and select Export.&lt;/li&gt;
&lt;li&gt;Once you’re inside the Export page, choose your Salesforce connection as the source.&lt;/li&gt;
&lt;li&gt;Then, select &lt;strong&gt;CSV to Storage Service&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose your SFTP connection from the dropdown list.&lt;/li&gt;
&lt;li&gt;If there’s a folder, choose one too. The CSV file will be written there.&lt;/li&gt;
&lt;li&gt;Then, click &lt;strong&gt;Add New&lt;/strong&gt; to create a new task.&lt;/li&gt;
&lt;li&gt;Choose a Salesforce object like &lt;strong&gt;Contacts&lt;/strong&gt; and mark the columns to export. Optionally, set a filter and sort order.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdeefd62r50gir10t8adm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdeefd62r50gir10t8adm.png" alt="Image description" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the &lt;strong&gt;Next step&lt;/strong&gt; button and set the CSV filename and compression type. Leave the compression to None if you don’t want the result compressed.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next step&lt;/strong&gt;, and review the output columns. You can still rename the output columns from here if you like.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkrh7osooioh1j1qogco.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkrh7osooioh1j1qogco.png" alt="Image description" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click Save task.&lt;/li&gt;
&lt;li&gt;If there are more tasks, repeat steps 6 to 10 and use a different CSV file and Salesforce object.&lt;/li&gt;
&lt;li&gt;Name your Skyvia Export and click Create to save your export integration.&lt;/li&gt;
&lt;li&gt;If needed, create an export schedule by clicking Schedule from the top-left corner. The setup is the same as scheduling a Skyvia Import.&lt;/li&gt;
&lt;li&gt;Run your Skyvia Export by clicking Run in the upper-right corner.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Below is the result of the above setup:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6r3u7tdp1nt00qeew0s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6r3u7tdp1nt00qeew0s.png" alt="Image description" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The export process will extract the Contacts data and write a CSV file into the MyFolder folder in the SFTP server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integrate SFTP and Salesforoce using Custom Coding
&lt;/h2&gt;

&lt;p&gt;Custom coding refers to using a programming language to build a tailored solution. This approach allows you to make solutions unique to your business that is not possible with the native or third-party tools. You can say that this is the most flexible approach to Salesforce SFTP integration.&lt;/p&gt;

&lt;p&gt;However, this method needs high technical expertise using Salesforce, SFTP, and the programming language. The following are your options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Apex Coding:&lt;/strong&gt; Salesforce’s Apex programming language offers custom coding with deep ties to Salesforce itself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform Events + SFTP Integration:&lt;/strong&gt; If you need real-time, event-driven integration. You can use Apex code to subscribe to events and file transfers and to communicate with the SFTP server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Middleware with Node.js or Python:&lt;/strong&gt; You can develop a custom middleware written in Node.js or Python. This middleware should handle SFTP and Salesforce connections, file transfers, and other integration logic. Then, your Apex code will pass the CSV content to this middleware and save it to the SFTP folder.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best for&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using custom coding is best for organizations with experienced developers and they need complete control over the integration process that other tools cannot provide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full control over the integration process.&lt;/li&gt;
&lt;li&gt;Tailored solutions for unique business needs.&lt;/li&gt;
&lt;li&gt;Scalable and extendable for future use cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires advanced development skills and familiarity with Salesforce’s Apex programming, Platform Events, or another programming language (e.g. Python)&lt;/li&gt;
&lt;li&gt;Initial development can be time-consuming.&lt;/li&gt;
&lt;li&gt;Ongoing maintenance and updates are necessary to keep the integration secure and compatible with Salesforce updates.&lt;/li&gt;
&lt;li&gt;Overkill for simple integrations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Method 4: Sample Code Snippet Using Apex and Node.js
&lt;/h3&gt;

&lt;p&gt;Apex doesn’t directly support SFTP. So, you need to do some workarounds. Using Node.js, you can build a middleware that will handle the SFTP connection and transfer. Apex will then call the middleware to pass the generated CSV.&lt;/p&gt;

&lt;p&gt;Here’s a snippet for the Apex part of the code:&lt;/p&gt;

&lt;p&gt;`public with sharing class ContactSftpExporter {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Query Contacts and convert them to CSV
public static String generateCSV() {
    List&amp;lt;Contact&amp;gt; contacts = [SELECT Id, FirstName, LastName, Email FROM Contact LIMIT 10];
    String csvHeader = 'Id,FirstName,LastName,Email\n';
    String csvBody = '';

    for (Contact c : contacts) {
        csvBody += c.Id + ',' + c.FirstName + ',' + c.LastName + ',' + c.Email + '\n';
    }

    return csvHeader + csvBody;
}
public void uploadCSVToSFTP() {
    // Create HTTP request to the external web service
    String csvContent = generateCSV();
    HttpRequest req = new HttpRequest();
    req.setEndpoint('https://your-external-service.com/upload');
    req.setMethod('POST');
    req.setHeader('Content-Type', 'application/json');

    // Prepare data to send (CSV file content and other needed info)
    String requestBody = '{"csvData": "' + EncodingUtil.urlEncode(csvContent, 'UTF-8') + '"}';
    req.setBody(requestBody);

    // Send the request
    Http http = new Http();
    HttpResponse res = http.send(req);

    // Process the response (optional)
    if(res.getStatusCode() == 200) {
        System.debug('File uploaded successfully to SFTP.');
    } else {
        System.debug('Failed to upload file: ' + res.getBody());
    }
}`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;It queries the Salesforce Contact and creates the CSV. Replace the URL in the &lt;strong&gt;req.setEndpoint&lt;/strong&gt; to point to the Node.js web service. Below is the sample Node.js code to do that. You need the &lt;strong&gt;ssh2&lt;/strong&gt; library and the Express app.&lt;/p&gt;

&lt;p&gt;`const express = require('express');&lt;br&gt;
const { Client } = require('ssh2');&lt;br&gt;
const app = express();&lt;br&gt;
const port = 3000;&lt;/p&gt;

&lt;p&gt;app.use(express.json());&lt;/p&gt;

&lt;p&gt;app.post('/upload', (req, res) =&amp;gt; {&lt;br&gt;
    const csvData = req.body.csvData; // Get the CSV data from request&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const sftpClient = new Client();
sftpClient.on('ready', () =&amp;gt; {
    sftpClient.sftp((err, sftp) =&amp;gt; {
        if (err) return res.status(500).send('SFTP connection failed.');

        // Upload file to SFTP server
        const writeStream = sftp.createWriteStream('/path/to/remote/contact.csv');
        writeStream.write(csvData);
        writeStream.end();

        writeStream.on('close', () =&amp;gt; {
            sftpClient.end();
            res.status(200).send('File uploaded successfully!');
        });
    });
}).connect({
    host: 'your-sftp-server.com',
    port: 22,
    username: 'your-sftp-username',
    password: 'your-sftp-password'
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;});&lt;/p&gt;

&lt;p&gt;app.listen(port, () =&amp;gt; {&lt;br&gt;
    console.log(&lt;code&gt;SFTP middleware service listening at http://localhost:${port}&lt;/code&gt;);&lt;br&gt;
});`&lt;/p&gt;

&lt;p&gt;Replace &lt;strong&gt;/path/to/remote/contact.csv&lt;/strong&gt; with the actual SFTP folder. Then, replace the host, username, and password for the SFTP credentials. Ask your system administrator for this setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases for SFTP Integration with Salesforce
&lt;/h2&gt;

&lt;p&gt;SFTP has some interesting use cases when integrating with Salesforce. Consider the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data Migration:&lt;/strong&gt; When your company is moving from a legacy CRM system built in-house to Salesforce.
&lt;strong&gt;Example:&lt;/strong&gt; A company transitioning from an on-premise CRM to Salesforce can use SFTP to transfer bulk customer records securely.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Backup and Recovery:&lt;/strong&gt; When you want to maintain your own backup by exporting your Salesforce Org data.
&lt;strong&gt;Example:&lt;/strong&gt; A business setting up automated nightly backups of their Salesforce data to an SFTP server. This ensures they have a fail-safe.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document Management:&lt;/strong&gt; You can store documents related to your Salesforce records securely in SFTP.
&lt;strong&gt;Example:&lt;/strong&gt; A real estate company managing property documents can use SFTP to store sensitive files. Then, access securely through Salesforce.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Data Sync:&lt;/strong&gt; You can synchronize your Salesforce data to another system regularly by storing them in an SFTP server. From there, the external system will access the files securely.
&lt;strong&gt;Example:&lt;/strong&gt; An e-commerce company using SFTP to update Salesforce with inventory data from their ERP system nightly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regulatory Compliance:&lt;/strong&gt; This is the scenario presented from the beginning. The secure file management of SFTP can help with data security compliance.
&lt;strong&gt;Example:&lt;/strong&gt; A healthcare provider using SFTP to transfer patient data securely. This ensures compliance with healthcare data protection regulations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;To recap our discussion, we described what SFTP is and how it differs from FTP. We also discussed why SFTP is a good location for sharing data between organizations. Then, we presented the use cases and, finally, the methods, namely native, third-party, and custom coding.&lt;/p&gt;

&lt;p&gt;You can choose which of the methods can best address your scenario. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;This guide was originally published on the Skyvia Blog by Edwin Sanchez.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>salesforce</category>
      <category>sftp</category>
      <category>skyvia</category>
      <category>etl</category>
    </item>
    <item>
      <title>SFTP vs API Integrations: Which Solution is Right for Your Business?</title>
      <dc:creator>Natalia Polomkina</dc:creator>
      <pubDate>Mon, 25 Nov 2024 12:58:23 +0000</pubDate>
      <link>https://dev.to/nataliapolomkina/sftp-vs-api-integrations-which-solution-is-right-for-your-business-1mbo</link>
      <guid>https://dev.to/nataliapolomkina/sftp-vs-api-integrations-which-solution-is-right-for-your-business-1mbo</guid>
      <description>&lt;p&gt;Connecting services through APIs is the most common way to link different online systems today, offering fast, real-time interactions. On the other hand, SFTP integration, another widely used approach, provides secure and reliable data exchanges between organizations, perfect for handling large or sensitive data files.&lt;/p&gt;

&lt;p&gt;With both options available, how can you decide which is best for your needs?&lt;/p&gt;

&lt;p&gt;Think of SFTP integration like sending an email—you send data and receive a response, but it may take a bit of time. In contrast, API integration is more like a phone call, where you reach out and get a response right away.&lt;/p&gt;

&lt;p&gt;These simple metaphors provide a basic understanding of each method. In this article, we’ll dive deeper into SFTP vs. API integration and help you determine when each approach is most suitable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is SFTP Integration?
&lt;/h2&gt;

&lt;p&gt;To understand SFTP integration, it helps to start with FTP, or File Transfer Protocol, which is primarily used to transfer files between a client and a server. SFTP, or Secure File Transfer Protocol, functions similarly but adds a crucial layer of security, with the "S" standing for "secure," thanks to SSH (Secure Shell) protocol. This added security means SFTP encrypts data before sending it, making it safer for transmitting sensitive information.&lt;/p&gt;

&lt;h2&gt;
  
  
  How SFTP Integration Works
&lt;/h2&gt;

&lt;p&gt;SFTP integration typically involves linking an SFTP server with another application or system. Files can be transferred from various systems to an SFTP server, where access permissions are managed. Likewise, files can be sent from the server back to another system. SFTP integration is particularly suited for handling large volumes of files securely and efficiently, making it ideal for bulk file transfers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftyv1mfgqj5jw3lam86jk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftyv1mfgqj5jw3lam86jk.png" alt="Image description" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Uses of SFTP Integration
&lt;/h2&gt;

&lt;p&gt;There’s a variety of integration scenarios involving SFTP servers, and each business chooses the most suitable one for its particular objective. Here are some typical use cases and popular workflows involving SFTP integration.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Data backup and recovery.&lt;/strong&gt; SFTP server is an excellent place for storing data copies from business-critical applications, such as Salesforce, HubSpot, QuickBooks, etc. Businesses can be sure that the data stored on the SFTP server is safe and secure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data sharing.&lt;/strong&gt; An SFTP server can be a storage pool for sharing reports or occasional files that can be accessed only by authorized stakeholders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Copying data from legacy systems.&lt;/strong&gt; Most applications and systems of the previous generation aren’t compatible with the modern ones. So, one of the proven methods to migrate data from legacy systems is to copy it to an SFTP server first and then integrate it into the destination app.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Benefits of SFTP Integration
&lt;/h2&gt;

&lt;p&gt;Apart from the security it offers for data transfer and storage, SFTP grants other significant benefits. They range from incredible data volumes to the impossibility of modifying data during transit. So, let’s have a look at each of the advantages SFTP integration offers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Data integrity.&lt;/strong&gt; SFTP guarantees that files on the input will have the same content as on the output. It uses hash codes that compare the file versions before and after transit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authorized control.&lt;/strong&gt; Only authorized users can access the contents of the SFTP server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File access control.&lt;/strong&gt; It’s possible to set permissions for each file on the SFTP server, guaranteeing role-based access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch transfer.&lt;/strong&gt; SFTP integration allows users to send large files in bulk.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  SFTP Integration Limitations
&lt;/h2&gt;

&lt;p&gt;As any coin has heads and tails, SFTP integration has benefits and limitations. Those aren’t drawbacks but just certain restrictions that prevent SFTP integration from being a suitable and effective solution in certain cases.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No real-time data access.&lt;/strong&gt; Since SFTP can operate only batch data, it doesn’t support real-time streams. Data can be sent to an SFTP server or in the opposite direction according to preset time intervals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No scalability.&lt;/strong&gt; Since SFTP supports only point-to-point integration, managing data flows might be challenging as you add more integration scenarios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File format restrictions.&lt;/strong&gt; SFTP integration supports CSV and other flat files, so transferring complex data structures or unstructured data isn’t possible.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Setting Up SFTP Integration
&lt;/h1&gt;

&lt;p&gt;The steps for the integration are similar regardless of the application or database aiming to connect to an SFTP server:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generating SSH keys.&lt;/li&gt;
&lt;li&gt;Copying public SSH key to the remote server.&lt;/li&gt;
&lt;li&gt;Establishing and testing connection with the SFTP server.&lt;/li&gt;
&lt;li&gt;Transferring files to and from the SFTP server.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You’ll need to establish an individual SFTP integration point for each application or service. This takes pretty much time and requires lots of manual effort. As a solution, try &lt;a href="https://skyvia.com/?utm_source=media&amp;amp;utm_medium=referral&amp;amp;utm_campaign=devto&amp;amp;utm_content=sftp_api" rel="noopener noreferrer"&gt;Skyvia cloud platform&lt;/a&gt;, which is a convenient way of connecting an SFTP server with other apps in a unified environment. Skyvia also offers a range of data-related solutions, including data integration, SaaS backup, OData and SQL point creation, workflow automation, and data query.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favarcbt4jm8lfs5tc54b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favarcbt4jm8lfs5tc54b.png" alt="Image description" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Skyvia’s Data Integration product offers several zero-code tools for data exchange between SFTP and 200 other data sources.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Import&lt;/strong&gt; is a visual-based wizard that allows users to create ETL pipelines and Reverse ETL pipelines. You can load files from and to SFTP server, apply transformations to data, and configure mapping settings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export&lt;/strong&gt; is a visual-based wizard allowing users to send their cloud app data to an SFTP server in CSV files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Flow&lt;/strong&gt; is a visual pipeline designer with a drag-and-drop interface and a variety of components, allowing users to build more complex data flows involving several data sources and multistage transformations.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You’ll need to perform only several steps to set up an SFTP integration with Skyvia.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Log into your &lt;a href="https://id.skyvia.com/core/login?signin=397ef02b5003952101f47822048d4bc6" rel="noopener noreferrer"&gt;Skyvia account&lt;/a&gt; or create a new one.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.skyvia.com/connectors/file-storages/sftp_connections.html" rel="noopener noreferrer"&gt;Set up the SFTP connector&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fotn0znnx77tr5tdb3yj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fotn0znnx77tr5tdb3yj7.png" alt="Image description" width="694" height="817"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set up the integration scenario.&lt;/strong&gt; In your Skyvia account, go to the &lt;strong&gt;+Create New&lt;/strong&gt; section and select the integration scenario of your choice. For instance, you can send files from an SFTP server to Salesforce and vice versa by selecting the integration scenario (Import, Export, or Data Flow) and setting it up as shown below.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  What is API Integration?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Application Programming Interface&lt;/strong&gt; or simply API is the technology allowing two software programs to communicate and interact with each other. Modern APIs adhere to specific standards (usually HTTP or REST), which makes them self-descriptive and developer-friendly.&lt;/p&gt;

&lt;p&gt;APIs have a standardized schema for interaction through a series of requests and responses. For instance, one program sends a request to the API with specific instructions. This request is made in the file format defined by API. Then, the API receives these requests, understands them, communicates with the relevant system or database, retrieves the needed information, and sends it back as a response.&lt;/p&gt;

&lt;h2&gt;
  
  
  How API Integration Works
&lt;/h2&gt;

&lt;p&gt;The way an API works is usually explained in terms of the client-server architecture, where the application sending a request is a client, and the one sending a response is a server.&lt;/p&gt;

&lt;p&gt;APIs can be defined in different ways, depending on when and why they were created. For instance, SOAP APIs use Simple Object Access Protocol where client and server exchange messages using XML. REST APIs define a set of functions like GET, PUT, DELETE, SET, etc. and rely on HTTP for data exchange.&lt;/p&gt;

&lt;p&gt;API integration allows businesses to create an ecosystem where various software components work together to achieve business goals. It’s possible to connect multiple APIs to enable data exchange between different applications and systems.&lt;/p&gt;

&lt;p&gt;For example, when a suite booking is made via the hotel app, this operation needs to be reflected on the hotel profile on the Booking.com website. This is where API is used to communicate data from the app to the website, so the actual data on room availability is present on both platforms. Such communication ensures data synchronization and prevents the chance of double booking of the same room for the same date.&lt;/p&gt;

&lt;p&gt;In fact, API is like an Esperanto language that was artificially constructed more than a century ago to enable international communication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Uses of API Integration
&lt;/h2&gt;

&lt;p&gt;API integration is used almost everywhere today because it tends to improve user experience, content management, etc. Let’s examine some of the most popular business use cases for API integration.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Inserting payment getaways into e-commerce websites.&lt;/strong&gt; Such integration is very convenient for customers as they can pay for the services or goods on the platform where they ordered them. There’s a variety of payment getaways, so each e-commerce website can choose credit cards, bitcoins, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time monitoring of IoT devices.&lt;/strong&gt; The API integration makes it possible to connect devices to the monitoring applications. This ensures alerts on the system malfunction and enables timely intervention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data integration between CRM and other marketing systems.&lt;/strong&gt; API enables data exchange between different marketing applications, providing a solid base for targeted marketing campaigns. For instance, you may want to send Salesforce data to Marketo for refining marketing automation approaches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Synching inventory stocks.&lt;/strong&gt; The API integration allows an e-commerce website to exchange data with an inventory management system in the real time. That way, you’ll get the latest information on the stock levels in both systems.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Benefits of API Integration
&lt;/h2&gt;

&lt;p&gt;Along with the tremendous possibilities for connecting services across the web, API integrations offer a range of other benefits for businesses, from automation to customization.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Real-time data handling.&lt;/strong&gt; The architecture of APIs enables real-time data exchange. So, the response is sent almost immediately after the request submission.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated data transfers.&lt;/strong&gt; Automate manual tasks, maximizing productivity and minimizing human error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Functionality extension.&lt;/strong&gt; Benefit from the possibilities that go beyond the standard functionality of your application through the additon of new functionality.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data granularity.&lt;/strong&gt; Request specific details, such as user contact or address, instead of getting the entire customer profile.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  API Integration Limitations
&lt;/h2&gt;

&lt;p&gt;Even though API integration seems to be an ideal solution for bringing different software services together, it also has some limitations. Those are NOT drawbacks but rather constraints that become tangible in certain use cases.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No big data support.&lt;/strong&gt; If you need to transfer large data volumes, API integration will require more computational resources. This might impact the speed of data transfer and exchange, imposing constraints on real-time conception.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependence on internet connectivity.&lt;/strong&gt; As APIs primarily rely on HTTP, a stable internet connection is crucial. The integration won’t work properly in case of network interruptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complexity of integration.&lt;/strong&gt; Setting up API integration is complex as it requires deep knowledge of the API structure and software functionality.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Access limitation.&lt;/strong&gt; If you want to build API integration, you’ll need access to APIs and documentation of the service of interest. Some companies offer open API access, while others provide API only on request.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Implementing API Integration
&lt;/h2&gt;

&lt;p&gt;The steps for API integration are more or less the same for each business case. Here are some fundamental steps that can be a skeleton of the process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Define your integration needs.&lt;/strong&gt; First, understand which services you want to bring to your application or service. That might be a payment gateway or YouTube video player.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Look into API documentation.&lt;/strong&gt; The most popular online services have extensive API documentation and guidelines that can be accessed publicly. However, this might be different for niche services. So, carefully explore the API documentation and see whether you can get support from the application provider.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start integration.&lt;/strong&gt; Obtain access to API keys and ensure secure management for them. Start creating HTTP requests to access API endpoints using the official API documentation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execute testing.&lt;/strong&gt; Check whether your application successfully communicates with the API and retrieves the needed data. Ensure your app can handle errors and provide clear messages to users.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Main Similarities of SFTP and API
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ge63v43nkzijfc3y75e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ge63v43nkzijfc3y75e.png" alt="Image description" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After having explored SFTP and API integrations, it’s time to compare them. This analysis will help you understand which method is better for a specific business use case.&lt;/p&gt;

&lt;p&gt;So, here are some things both SFTP and API integrations have in common:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Secure data transfer.&lt;/strong&gt; Both approaches employ security protocols and features to protect data on transfer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation options.&lt;/strong&gt; SFTP and API integrations noticeably reduce the manual effort and the probability of human error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Robust error handling.&lt;/strong&gt; Both methods show an advanced approach to error handling by providing detailed messages to users.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Key Differences between SFTP and API
&lt;/h2&gt;

&lt;p&gt;SFTP and API have more differences than similarities. Here are some of the notable and distinctive ones:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Data access frequency.&lt;/strong&gt; API integration allows a service to request the needed data and receive it as soon as needed, guaranteeing real-time data exchange. Meanwhile, with SFTP integration, users can send or receive access data only at specific intervals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data volumes processed.&lt;/strong&gt; SFTP works on batches and can handle large data volumes. Meanwhile, API usually operates on granular data of small sizes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability.&lt;/strong&gt; As an organization grows, it might be more difficult to handle multiple SFTP integrations, each for a different data source. API integration offers a greater degree of scalability for business.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintenance cost.&lt;/strong&gt; SFTP integration is usually associated with lower implementation and maintenance costs. APIs usually require high investment costs, especially when there’s a need for high-frequency API calls, support, and advanced features that go with highly paid pricing plans.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility.&lt;/strong&gt; APIs ensure customized data interactions, whereas SFTP follows a straightforward transfer process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configuration complexity.&lt;/strong&gt; API integration configuration is a time-consuming process that requires high technical expertise. SFTP integration setup requires SSH key pair generation and exchange, communication with a remote server, and not much coding. To simplify things, use universal data platforms like Skyvia to set up a no-code SFTP integration at a low cost.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;Let’s say that SFTP and API integrations have different target audiences. SFTP integration is more suitable for businesses that aim to send files in bulk over a secure channel at certain intervals in time. Meanwhile, API integration is more about the near real-time data exchange between software services.&lt;br&gt;
Companies with limited IT resources and expertise could also benefit from SFTP integration since the setup process is simpler than that of APIs. Things become even more accessible with data integration platforms like Skyvia. It allows you to connect an SFTP server to 200+ apps, databases, and data warehouses for data integration.&lt;/p&gt;

&lt;p&gt;Thank you for reading our guide on the differences between SFTP and API integrations. This article was originally published on the &lt;a href="https://blog.skyvia.com/api-vs-sftp-integration/" rel="noopener noreferrer"&gt;Skyvia blog&lt;/a&gt; by Liliia Levko. &lt;/p&gt;

</description>
      <category>sftp</category>
      <category>api</category>
      <category>data</category>
    </item>
  </channel>
</rss>
