Microsoft Windows SMB connection
The SMB connection specifies how the connector connects to a single SMB share on a Windows file server, NAS device, or other SMB-compatible system. It authenticates using an NTLM username and password, optionally with a Windows/Active Directory domain or workgroup, and connects over TCP (port 445 by default). A connection defines:
- Server and share: Host, Port, Share Name, and an optional Default Directory. All operation paths are relative to the share.
- Authentication: Username, Password, and an optional Domain for Active Directory, local, NAS, or workgroup accounts. Kerberos is not supported.
- Security: SMB 2.0.2 through 3.1.1 negotiation, optional SMB3 encryption, and optional DFS referral resolution.
- Performance and reliability: Connection/read and socket timeouts and session pooling.
Tips
- Use a dedicated service account with the least privilege required on both the share and the underlying file-system ACLs.
- Enter only the share name in Share Name. Put any folder path in Default Directory or in the operation, not in the connection host or share fields.
- Enter the domain in the Domain field, not in the Username field, unless the server requires a qualified username format.
- Enable SMB3 encryption and DFS only when needed. Enabling encryption against a server that does not support it causes negotiation failures.
- Set a positive Socket Timeout for production processes so a stalled connection fails instead of waiting indefinitely.
- Keep session pooling enabled for normal throughput. Disable it only when each operation must create and close its own SMB session.
- Create one connection per share, and confirm that TCP port 445 (or your custom port) is reachable from the runtime running the process.
Create an SMB connection and enter the following fields.
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
| Host | Yes | String | — | Hostname or IP address of the SMB server (e.g., fileserver.example.com or 10.0.0.5). Do not include smb://, a share name, or a path. |
| Port | No | Integer | 445 | SMB TCP port. Use a different value only when the server is configured for a nonstandard SMB port. |
| Username | Yes | String | — | Account username. For a domain account, enter the bare username and configure Domain separately. |
| Password | No* | Password | — | Account password. Boomi stores password connection fields encrypted. A null or empty password is passed to the SMB authentication context, but the target server may reject it. |
| Domain | No | String | Blank | Windows/Active Directory domain or workgroup. Leave blank for a local account, NAS account, or workgroup configuration that does not require a domain value. |
| Share Name | Yes | String | — | The SMB tree-connect target, such as data. Enter only the share name; do not enter the host, a leading slash, or a UNC path. |
| Default Directory | No | String | Share root | Share-relative directory used when an operation does not provide a document-level directory (e.g., inbound\reports). |
| Require SMB3 Encryption | No | Boolean | false | Requests in-transit SMB3 encryption. Enable only when the server supports SMB 3.x encryption. |
| Enable DFS | No | Boolean | false | Enables Distributed File System referral resolution. Enable this when the target share uses DFS referrals. |
| Connection/Read Timeout (ms) | No | Integer | 60000 | Passed to the SMB client as its general SMB operation timeout. The UI label describes this as a connection/read timeout. |
| Socket Timeout (ms) | No | Integer | 0 | Socket timeout. 0 retains the SMB client default and can block indefinitely. Set a positive value when the process must fail rather than wait indefinitely for socket activity. |
| Enable Session Pooling | No | Boolean | true | Reuses authenticated sessions across operations. Keep enabled for normal throughput; disable when each operation must create and close its own SMB session. |
* The implementation requires a host, username, and share name. It does not reject a blank password before attempting authentication, although most SMB servers require a valid password.
Configure the connection
- In Boomi, create an SMB connection component.
- Enter the SMB server Host and Port.
- Enter the account Username and Password.
- Enter Domain when the account is managed by Active Directory or a domain/workgroup configuration requires it. Otherwise, leave the field blank.
- Enter the target Share Name, such as data.
- Optionally set a Default Directory. This directory is relative to the configured share; do not enter a UNC path.
- Enable Require SMB3 Encryption only after confirming that the server supports encrypted SMB3 sessions.
- Enable Enable DFS only when the target uses DFS referrals.
- Review timeout and pooling settings. The defaults are suitable for most deployments.
- Test the connection.
Directory and Path Rules
All operation paths are relative to Share Name. The connector applies these rules:
- Both / and \ are accepted as separators; normalized paths use \.
- Leading, trailing, and repeated separators are removed.
- A blank directory represents the root of the configured share.
- .. path segments are rejected with a path-traversal error.
- The host and share must not be repeated in an operation path.
- A file name can include child directory segments; those segments are resolved below the effective directory.
Troubleshoot Connection Failures
| Symptom or message | Likely cause | Corrective action |
|---|---|---|
| Host is required. | Host is blank. | Enter a hostname or IP address without a protocol prefix or path. |
| Username is required. | Username is blank. | Enter the account username. Put the domain in Domain, not in the username field, unless the target server specifically requires a qualified username format. |
| Share Name is required. | Share Name is blank. | Enter only the share name, such as data. |
| Connection timeout | The runtime cannot reach the server/port, a firewall blocks TCP 445, or the server is slow to respond. | Verify routing and firewall rules, confirm the configured port, and increase timeout values if appropriate. |
| Authentication or logon failure | The username, password, domain, or account permissions are invalid. | Test the same credentials against the share from a permitted client. Confirm whether the account is local, domain-managed, or a workgroup account. |
| Access denied during an operation | The account can authenticate but lacks permission for the requested file or directory action. | Grant the least privilege required on both the share and underlying file-system ACLs. |
| SMB dialect negotiation failure | The server supports only SMB1 or does not support a dialect offered by the connector. | Enable SMB2 or later on the server. SMB1/CIFS is not supported by this connector. |
| Encryption negotiation failure | SMB3 encryption is enabled, but the server does not support an encrypted SMB3 session. | Disable encryption on a server that does not require it, or upgrade/configure the server to enable SMB3 encryption. |
| DFS target cannot be opened | The share uses DFS referrals, but referral resolution is disabled or unavailable. | Enable Enable DFS and verify the runtime can reach referral targets. |
| Operation waits indefinitely | Socket Timeout is 0, which permits indefinite socket blocking. | Set a positive socket timeout and choose a value appropriate for the file sizes and network latency in the environment. |
Test connection
You can test your connection settings before saving them or using them in a process. Test connection validates that the required fields (Host, Username, and Share Name) are set, then opens an SMB session to the server and connects to the specified share using the configured credentials, port, encryption, DFS, and timeout settings.
If the test succeeds, you can save and use the connection. If it fails, the connector returns an error message. See Troubleshoot Connection Failures for likely causes and corrective actions.
Note: A successful test confirms connectivity, authentication, and access to the share. It does not verify permissions on specific files or directories, so confirm that the account has the permissions each operation needs. The test runs from the selected runtime, so that runtime must be able to reach the SMB server and port.