Globalscape EFT connector guide

Document information
  • Canonical URL: /docs/04_connecting-systems/connectors/g/globalscape-eft
  • Version: 2026-05-08
  • Tags: connectors, reference, globalscape-eft
  • Connector ID: globalscape-eft-1.0.0

Use this connector to integrate Tealfabric workflows with Globalscape EFT (Enhanced File Transfer) for managed transfer operations, job status checks, and automation-aware file movement. It is designed for secure, API-key authenticated transfers in operational pipelines.

Globalscape EFT connector flow shows secure API-key authentication, managed transfer operations, and monitored execution status.

Connector setup

Configure base_url (for example https://your-instance.globalscape.com) and api_key in integration settings. Keep the API key in secure storage and rotate it regularly to reduce credential risk.

Set timeout_seconds based on expected transfer durations. Short values work for metadata calls, while transfer-heavy workloads may require longer limits to avoid unnecessary failures.

Operations

OperationPurpose
sendCall a Globalscape EFT API path with a JSON body (default POST). Uses data when present, otherwise serializes the full call payload.
receiveGET a Globalscape EFT API path with optional query parameters. Returns workflow_count and items from workflows, transfers, or the full response.
executeCall a Globalscape EFT API path with an explicit HTTP method (default GET) and optional body or data.
testValidates credentials via legacy GET api/workflows routing ({base_url}/api/api/workflows). Returns workflows_found in data.details.

Endpoint paths are relative to {base_url}/api/ (do not repeat the api/ prefix except for the legacy test probe path above).

Code examples

const baseUrl = "https://api.example.com/api/v1";
const tenantId = "<TENANT_ID>";
const apiKey = "<API_KEY>";

type TransferRecord = { transfer_id?: string; status?: string; file_name?: string };

async function listTransfers(integrationId: string): Promise<TransferRecord[]> {
  const response = await fetch(`${baseUrl}/integrations/${encodeURIComponent(integrationId)}/execute`, {
    method: "POST",
    headers: {
      "X-API-Key": apiKey,
      "X-Tenant-ID": tenantId,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      operation: "receive",
      endpoint: "transfers",
      query: { limit: 20, status: "completed" },
    }),
  });
  if (!response.ok) throw new Error(`Request failed: ${response.status}`);
  const payload = (await response.json()) as {
    success?: boolean;
    data?: { workflow_count?: number; items?: TransferRecord[] };
  };
  if (!payload.data?.items) throw new Error("Missing transfer history payload");
  return payload.data.items;
}

API request example

Use this request pattern to retrieve recent completed transfer history from Globalscape EFT.

curl -X POST "https://api.example.com/api/v1/integrations/<ENTITY_ID>/execute" \
  -H "X-API-Key: <API_KEY>" \
  -H "X-Tenant-ID: <TENANT_ID>" \
  -H "Content-Type: application/json" \
  -d '{
    "operation": "receive",
    "endpoint": "transfers",
    "query": {
      "limit": 20,
      "status": "completed"
    }
  }'
{
  "success": true,
  "data": {
    "message": "Globalscape EFT data retrieved successfully",
    "workflow_count": 1,
    "items": [
      {
        "transfer_id": "<ENTITY_ID>",
        "status": "completed",
        "file_name": "daily-settlement.csv"
      }
    ]
  }
}

Reliability and troubleshooting

If requests fail with credential errors, verify base_url and API key validity first. If calls return 429, slow request frequency and apply exponential backoff retries instead of immediate repeats.

When transfer actions are long-running, execute them asynchronously and monitor status polling in ProcessFlow to keep user-facing flows responsive. Continue with Integration workers guide and Connectors architecture for scaling and runtime design guidance.