Skip to content

feat(generated): Changes to agents, pipes, and user_management - #443

Merged
workos-sdk-automation[bot] merged 5 commits into
mainfrom
oagen/batch-7d43a414
Sep 14, 2026
Merged

workos-sdk-automation[bot] merged 5 commits into
mainfrom
oagen/batch-7d43a414

Conversation

@workos-sdk-automation

@workos-sdk-automation workos-sdk-automation Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Summary

feat(agents): Add parameter AgentsSessions.list.organization_id

  • Added parameter AgentsSessions.list.organization_id.

feat(pipes): Update Pipes API surface

  • Added enum PipesOwnership.
  • Added user to CreateDataIntegrationOwnership.
  • Added user to DataIntegrationOwnership.
  • Added endpoint GET /data-integrations/{slug}/organization.
  • Added endpoint PUT /data-integrations/{slug}/organization.
  • Added endpoint DELETE /data-integrations/{slug}/organization.
  • Added parameter Pipes.listDataIntegrations.ownership.
  • Changed errors for endpoint GET /data-integrations.
  • Changed errors for endpoint PUT /user_management/users/{user_id}/connected_accounts/{slug}.
  • Changed errors for endpoint DELETE /user_management/users/{user_id}/connected_accounts/{slug}.

feat(user_management): Add user management API surface

  • Added model CreateAuthkitOAuthResource.
  • Added model AuthkitOAuthResource.
  • Added service UserManagementAuthkitOAuthResources.

fix(pipes): Update Pipes API surface

  • Removed userland_user from CreateDataIntegrationOwnership.
  • Removed userland_user from DataIntegrationOwnership.
  • Changed errors for endpoint POST /user_management/users/{user_id}/connected_accounts/{slug}.

Triggered by workos/openapi-spec@0b4d419

BEGIN_COMMIT_OVERRIDE
feat(agents): Add parameter AgentsSessions.list.organization_id (#443)
feat(pipes): Update Pipes API surface (#443)
feat(user_management): Add user management API surface (#443)
fix(pipes): Update Pipes API surface (#443)
END_COMMIT_OVERRIDE

…iKeys, AuditLogs, Authorization, ClientApi, Connect, DirectorySync, Events, FeatureFlags, Groups, MultiFactorAuth, OrganizationDomains, OrganizationMembership, Organizations, Pipes, PipesProvider, PlatformTeams, Radar, SSO, UserManagement, Vault, Webhooks, Widgets
@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Sep 14, 2026
@workos-sdk-automation
workos-sdk-automation Bot requested review from a team as code owners September 14, 2026 13:28
@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Sep 14, 2026
@greptile-apps

greptile-apps Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 2/5

The PR is not safe to merge until the public signature regressions and two broken Pipes request contracts are corrected.

Findings

  1. P1 Positional calls break
  2. P1 Scope reset is discarded
  3. P1 Connection flag is ignored
Fix with agent prompt
### Issue 1
lib/Service/Pipes.php:78
Adding `$ownership` before the existing `$description` argument breaks positional callers of `createDataIntegration()`. For example, a previously valid call that passes a description as its second argument now supplies that string to `?PipesOwnership` and throws a `TypeError`. The same insertion pattern affects `Agents::listSessions()`, where existing positional blueprint and instance filters are silently rebound to organization and blueprint filters. Append new optional parameters after the existing endpoint arguments to preserve the published call order.

### Issue 2
lib/Service/Pipes.php:389-396
The new organization update method documents `scopes: null` as the way to reset scopes, but this filter removes the `scopes` key before the request is serialized. A caller following the documented contract therefore sends an omitted field, leaving the integration's scopes unchanged instead of resetting them. The method needs to distinguish an omitted argument from an explicit JSON `null`.

### Issue 3
lib/Service/Pipes.php:565
`updateUserConnectedAccount()` accepts `supportsMultipleConnections`, but it never includes the value in the query or request body. Passing `true` therefore has no effect: the server continues using the compatibility connection contract instead of the requested plural contract and cannot reliably update the selected connection when several accounts exist.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

  • Adds typed ownership and OAuth-resource models.
  • Adds organization-owned data-integration CRUD operations.
  • Adds multi-connection selection parameters across Pipes operations.
  • Adds paginated AuthKit OAuth resource listing, creation, and deletion.
  • Requires corrections for public positional compatibility, explicit scope resets, and forwarding the new update flag.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  App[PHP application] --> Pipes[Pipes service]
  Pipes --> List[List integrations by ownership]
  Pipes --> UserRoot[User-owned integration]
  Pipes --> OrgRoot[Organization-owned integration]
  UserRoot --> UserConnections[User connected accounts]
  OrgRoot --> OrgConnections[Organization shared connections]
  UserConnections --> Select[Select compatibility or plural connection]
  OrgConnections --> Select
  Select --> Credentials[Vend credentials or access token]
  App --> Agents[Agents service]
  Agents --> Sessions[List sessions by organization]
  App --> UM[User Management service]
  UM --> OAuth[AuthKit OAuth resources]
Loading

Reviews (1) · Last reviewed commit: "chore(generated): add release notes frag..."

Comment thread lib/Service/Pipes.php
*/
public function createDataIntegration(
string $provider,
?\WorkOS\Resource\PipesOwnership $ownership = null,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Positional calls break

Adding $ownership before the existing $description argument breaks positional callers of createDataIntegration(). For example, a previously valid call that passes a description as its second argument now supplies that string to ?PipesOwnership and throws a TypeError. The same insertion pattern affects Agents::listSessions(), where existing positional blueprint and instance filters are silently rebound to organization and blueprint filters. Append new optional parameters after the existing endpoint arguments to preserve the published call order.

Knowledge Base Used:

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/Service/Pipes.php
Line: 78

Comment:
**Positional calls break**

Adding `$ownership` before the existing `$description` argument breaks positional callers of `createDataIntegration()`. For example, a previously valid call that passes a description as its second argument now supplies that string to `?PipesOwnership` and throws a `TypeError`. The same insertion pattern affects `Agents::listSessions()`, where existing positional blueprint and instance filters are silently rebound to organization and blueprint filters. Append new optional parameters after the existing endpoint arguments to preserve the published call order.

**Knowledge Base Used:**
- [Application and data integrations](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/integrations.md)
- [Agents and blueprints](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/agents-and-blueprints.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Comment thread lib/Service/Pipes.php
Comment on lines +389 to +396
$body = array_filter([
'description' => $description,
'enabled' => $enabled,
'scopes' => $scopes,
'credentials' => $credentials,
'api_key' => $apiKey,
'custom_provider' => $customProvider,
], fn ($v) => $v !== null);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Scope reset is discarded

The new organization update method documents scopes: null as the way to reset scopes, but this filter removes the scopes key before the request is serialized. A caller following the documented contract therefore sends an omitted field, leaving the integration's scopes unchanged instead of resetting them. The method needs to distinguish an omitted argument from an explicit JSON null.

Knowledge Base Used: Application and data integrations

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/Service/Pipes.php
Line: 389-396

Comment:
**Scope reset is discarded**

The new organization update method documents `scopes: null` as the way to reset scopes, but this filter removes the `scopes` key before the request is serialized. A caller following the documented contract therefore sends an omitted field, leaving the integration's scopes unchanged instead of resetting them. The method needs to distinguish an omitted argument from an explicit JSON `null`.

**Knowledge Base Used:** [Application and data integrations](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/integrations.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Comment thread lib/Service/Pipes.php
?array $scopes = null,
?\WorkOS\Resource\PipeConnectedAccountState $state = null,
?string $organizationId = null,
?bool $supportsMultipleConnections = null,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Connection flag is ignored

updateUserConnectedAccount() accepts supportsMultipleConnections, but it never includes the value in the query or request body. Passing true therefore has no effect: the server continues using the compatibility connection contract instead of the requested plural contract and cannot reliably update the selected connection when several accounts exist.

Knowledge Base Used: Application and data integrations

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/Service/Pipes.php
Line: 565

Comment:
**Connection flag is ignored**

`updateUserConnectedAccount()` accepts `supportsMultipleConnections`, but it never includes the value in the query or request body. Passing `true` therefore has no effect: the server continues using the compatibility connection contract instead of the requested plural contract and cannot reliably update the selected connection when several accounts exist.

**Knowledge Base Used:** [Application and data integrations](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/integrations.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

@workos-sdk-automation
workos-sdk-automation Bot merged commit 526711a into main Sep 14, 2026
9 checks passed
@workos-sdk-automation
workos-sdk-automation Bot deleted the oagen/batch-7d43a414 branch September 14, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autogenerated Autogenerated code or content

Development

Successfully merging this pull request may close these issues.

0 participants