SousFlow logo
Product

AetherFlow

Realize Potential. Achieve Results.

You know what needs to happen. AetherFlow makes it happen — across every platform, in a single call.

The missing piece between insight and action

SaaS management tools are good at surfacing what needs to be done — a new hire needs access, someone left six months ago and still has active licenses, or twenty users are paying for Adobe individual seats when a shared plan costs half as much.

Surfacing the insight is only half the job. AetherFlow is the other half: the execution layer that connects to your SaaS platforms and carries out the changes — across all of them at once, reliably, and with a full audit trail.

You decide. AetherFlow executes.

One call. Every platform.

When a user joins or leaves, you shouldn't need to make separate API calls for M365, Adobe, Salesforce, and ServiceNow. With AetherFlow's lifecycle endpoints, one request fans out to every platform you configure.

Request

POST /api/lifecycle/offboard
POST /api/lifecycle/offboard

{
  "clientId": "your-client-id",
  "userId": "alex@yourcompany.com",
  "requestingUser": "automation@yourcompany.com",
  "clientReferenceId": "offboard-alex-2026-05",
  "callbackUrl": "https://yoursystem.com/webhook",
  "actions": [
    { "platform": "M365",    "action": "Disable", "token": "..." },
    { "platform": "AdobeCC", "action": "Delete",  "token": "...",
      "metadata": { "organization-id": "...", "api-key": "..." } },
    { "platform": "Salesforce", "action": "Disable", "token": "..." }
  ]
}

Response

200 OK
{
  "lifecycleReferenceId": "offboard-alex-2026-05",
  "actions": [
    { "platform": "M365",    "requestId": "guid-1", "status": "Registered" },
    { "platform": "AdobeCC", "requestId": "guid-2", "status": "Registered" },
    { "platform": "Salesforce", "requestId": "guid-3", "status": "Registered" }
  ]
}

Each action is tracked individually — poll /api/get-status/{clientId}/{requestId} or receive a callback per action when it's done.

Or go granular when you need to

Prefer full control per action? The standard endpoint accepts individual or batched requests with explicit action types in Platform.Action notation.

POST /api/ProcessLicenseAction
POST /api/ProcessLicenseAction

{
  "clientId": "your-client-id",
  "userId": "alex@yourcompany.com",
  "actionType": "M365.ChangeLicense",
  "token": "...",
  "metadata": "{ \"newLicenseSkuId\": \"E3-SKU-ID\" }"
}

Platforms supported

Specific actions, not generic webhooks. AetherFlow speaks each platform's native APIs.

PlatformAvailable actions
Microsoft 365Disable, Delete, Change license, Update group membership
Adobe Creative CloudDisable, Delete, Change license
SalesforceDisable
ServiceNowDisable, Delete
SlackDisable, Assign to workspace, Remove from workspace
+ many moreGet in touch to learn more

Built for systems, not humans

AetherFlow is API-first. It integrates with whatever already detects the need for change — your ITSM, HR system, SaaS management platform, or your own workflow automation. No portal required, no manual steps.

  • Lifecycle endpoints

    Onboard or offboard across multiple platforms in one call.

  • Batch support

    Send one item or hundreds in a single request.

  • Async processing

    Requests queue and execute without blocking your system.

  • Callback support

    Get notified per action when it completes.

  • Your correlation IDs

    Pass your own references and get them back in every response.

  • Full traceability

    Every action is tracked from submission to completion.

In practice

Three patterns that show up in customer environments. The system that decides what should happen — your SAM tool, your ITSM, your HR platform — calls AetherFlow. AetherFlow does the rest.

License harvesting

Your SAM tool flags a Microsoft 365 license sitting unused for 60 days. Your ITSM picks up the signal, creates a reclaim ticket, and calls AetherFlow with a single ProcessLicenseAction request. AetherFlow downgrades the user from E5 to E3, removes them from the legacy distribution group, and returns a callback to close the ticket. The license is back in the pool before the user notices.

Joiner onboarding

Your HR platform marks a new hire as starting on Monday. The ITSM onboarding workflow assembles their entitlements — M365 E3 license, Slack workspace access, Salesforce read-only — and sends one lifecycle/onboard request to AetherFlow. AetherFlow provisions across all three platforms in parallel, callbacks return as each completes, and the welcome email goes out automatically when the last one lands.

Leaver offboarding

Termination is filed in HR; the ITSM offboarding flow picks it up and calls lifecycle/offboard. AetherFlow fans out disable actions across Microsoft 365, Adobe Creative Cloud, Salesforce, ServiceNow, and Slack in a single request. Each action is tracked individually, callbacks confirm completion, and the offboarding ticket closes automatically when the last platform reports done.

Secure by design

What InfoSec teams check first — answered up front.

  • Customer-controlled authentication

    AetherFlow authenticates to your platforms with credentials you provision and revoke — never SousFlow-shared service accounts.

  • No token persistence

    OAuth tokens are never written to durable storage — redacted before any database write. Tokens exist only in memory during the execution of a single request.

  • Request validation at the boundary

    Every payload is schema-validated before entering the queue. Malformed requests fail fast with structured errors, never partial state.

  • All-or-nothing batches

    Batch and lifecycle requests are atomic at the validation layer. A single bad item rejects the batch — no partial writes, no silent skips.

  • Full audit trail

    Every action is tracked from submission through completion, queryable by requestId via the status endpoint.

  • Minimal data surface

    AetherFlow stores only the fields necessary to execute and audit the action. No mailbox content, no document data, no profile metadata.

Interested in integrating?

Tell us about the system that needs an execution layer. We'll walk you through what AetherFlow can do for it and what onboarding looks like.