<?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: Naveen</title>
    <description>The latest articles on DEV Community by Naveen (@naveen6735).</description>
    <link>https://dev.to/naveen6735</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%2F3908654%2F52352e5f-3974-424f-add0-f9abd28ad5eb.jpeg</url>
      <title>DEV Community: Naveen</title>
      <link>https://dev.to/naveen6735</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/naveen6735"/>
    <language>en</language>
    <item>
      <title>Oracle Integration Cloud (Gen3): File Polling Using FTP Trigger</title>
      <dc:creator>Naveen</dc:creator>
      <pubDate>Sat, 02 May 2026 08:46:54 +0000</pubDate>
      <link>https://dev.to/naveen6735/oracle-integration-cloud-gen3-file-polling-using-ftp-trigger-3f7m</link>
      <guid>https://dev.to/naveen6735/oracle-integration-cloud-gen3-file-polling-using-ftp-trigger-3f7m</guid>
      <description>&lt;p&gt;&lt;strong&gt;Automate file‑based integrations without custom schedulers (OIC Gen3 24.10+)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;File‑based integrations are still extremely common—daily CSV extracts, XML drops from legacy systems, or batch partner feeds over FTP/SFTP.&lt;/p&gt;

&lt;p&gt;Before &lt;strong&gt;Oracle Integration Cloud (OIC) Gen3 24.10,&lt;/strong&gt; &lt;br&gt;
triggering an integration when a file arrived often required:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scheduled integrations&lt;/li&gt;
&lt;li&gt;External scripts&lt;/li&gt;
&lt;li&gt;Custom polling logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Gen3 introduced a native File‑Polling trigger&lt;/strong&gt; and it simplifies everything.&lt;/p&gt;

&lt;p&gt;In this post, I’ll walk through how to use the new FTP File Polling trigger, when to use it, and what to watch out for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When Should You Use File Polling?&lt;/strong&gt;&lt;br&gt;
Use this feature if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Files are small to medium in size&lt;/li&gt;
&lt;li&gt;You want to trigger immediately on file arrival&lt;/li&gt;
&lt;li&gt;You don’t need manual file download logic&lt;/li&gt;
&lt;li&gt;You prefer a low‑code, native OIC pattern&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Typical use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily CSV or XML reports&lt;/li&gt;
&lt;li&gt;Lightweight batch integrations&lt;/li&gt;
&lt;li&gt;Partner file drops&lt;/li&gt;
&lt;li&gt;Staging‑based data ingestion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What’s New in OIC Gen3 24.10+&lt;/strong&gt;&lt;br&gt;
With the FTP File‑Polling trigger, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatically trigger an integration when a file arrives&lt;/li&gt;
&lt;li&gt; Match files using filename patterns&lt;/li&gt;
&lt;li&gt; Load file content directly as payload&lt;/li&gt;
&lt;li&gt;Control archive, delete, or reject behavior&lt;/li&gt;
&lt;li&gt;Avoid additional adapters or scripts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step‑by‑Step: Configuring File Polling in OIC&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Verify OIC Version&lt;/strong&gt;&lt;br&gt;
Ensure your instance is:&lt;/p&gt;

&lt;p&gt;Oracle Integration Cloud Gen3 – 24.10 or later&lt;/p&gt;

&lt;p&gt;File polling is not available in earlier Gen3 builds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Configure FTP / SFTP Connection&lt;/strong&gt;&lt;br&gt;
Create or reuse an FTP adapter connection with Trigger &amp;amp; Invoke role:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Host, port, credentials&lt;/li&gt;
&lt;li&gt;Source directory permissions&lt;/li&gt;
&lt;li&gt;Optional archive/reject directories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Test the connection before proceeding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Use the File‑Polling Trigger&lt;/strong&gt; &lt;br&gt;
While creating the integration:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the FTP Adapter as the trigger&lt;/li&gt;
&lt;li&gt;Choose File Polling as the trigger type&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll configure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Polling frequency (e.g., every 5 minutes)&lt;/li&gt;
&lt;li&gt;Source directory&lt;/li&gt;
&lt;li&gt;Filename pattern (e.g., *.csv)&lt;/li&gt;
&lt;li&gt;Schema type (CSV / XML)&lt;/li&gt;
&lt;li&gt;Optional sample file upload for schema generation
This eliminates the need for a separate file‑server read step.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Configure File Handling Behavior&lt;/strong&gt;&lt;br&gt;
You can define what happens after the file is read:&lt;/p&gt;

&lt;p&gt;📦 Archive the file&lt;br&gt;
🗑️ Delete after successful read&lt;br&gt;
🚫 Reject invalid files&lt;br&gt;
⚠️ Ignore delete errors to prevent retries&lt;/p&gt;

&lt;p&gt;This is extremely useful for idempotency and cleanup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Design the Integration Flow&lt;/strong&gt;&lt;br&gt;
After the trigger:&lt;/p&gt;

&lt;p&gt;Parse file content using the generated schema&lt;br&gt;
Route data to downstream systems&lt;br&gt;
Apply validations and transformations&lt;br&gt;
Handle errors using reject logic&lt;/p&gt;

&lt;p&gt;The file content is already available as the payload—no manual streaming required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Test with a Proof of Concept (POC)&lt;/strong&gt;&lt;br&gt;
Before production:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drop a test file matching the pattern&lt;/li&gt;
&lt;li&gt;Confirm the integration triggers immediately&lt;/li&gt;
&lt;li&gt;Validate:
    *File movement (archive/delete)
    *Payload parsing
    *Error handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;7. Deploy &amp;amp; Monitor&lt;/strong&gt;&lt;br&gt;
Once verified:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Activate the integration&lt;/li&gt;
&lt;li&gt;Monitor tracking for file runs&lt;/li&gt;
&lt;li&gt;Adjust polling frequency or file rules if required&lt;/li&gt;
&lt;/ul&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%2F0ur24q0v6s6sdq33vl79.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%2F0ur24q0v6s6sdq33vl79.png" alt=" " width="800" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>oic</category>
      <category>oracle</category>
      <category>tutorial</category>
      <category>ace</category>
    </item>
  </channel>
</rss>
