Announcing CIMD support for MCP Client registration
Learn more

What Twilio’s acquisition of Stytch signals for B2B identity

When a startup exits, it’s always a milestone for the founders, the early team, and the space they helped shape.

Kudos to the Stytch team on joining Twilio. Building authentication infrastructure is hard, and reaching an outcome like this is a milestone few startups achieve.

This may not reshape identity overnight, but it’s a meaningful signal — another acquisition in the identity world, following Auth0’s acquisition by Okta in 2021 and ForgeRock’s acquisition by Thoma Bravo in 2022.

For those of us building in this space, it’s a good moment to pause and reflect on what this means for the next generation of infrastructure teams - especially those building modern SaaS and AI-native products.

Auth0 redefined what “developer-friendly authentication” meant more than a decade ago. Stytch took that spirit into the API-native era — clean docs, lightweight SDKs, and an auth stack that felt more composable than monolithic.

They made authentication approachable for a generation of developers who value clarity, speed, and flexibility.

In recent years, Stytch also began exploring what comes next - how authentication might extend beyond human users to AI agents, background services, and delegated access. That’s a direction we at Scalekit have been deeply focused on as well.

That forward-looking perspective matters. It shows that even as identity matures, there’s still room to push its boundaries.

What this means for the new generation of developers:

Twilio’s DNA is enterprise-scale communications. Stytch’s roots were in developer-first identity. Merging those worlds signals something important: developer identity has graduated from being a niche tool to becoming part of the enterprise stack.

That’s a milestone for the identity category. Identity is becoming more strategic, but also more consolidated. And every time that happens, new opportunities open for independent, developer-first platforms to keep the ecosystem moving forward.

a. Developer experience and agility

For developers building modern apps - especially AI-first ones - authentication isn’t a one-time setup. It evolves with the product.

You start with basic user login methods, add enterprise SSO when the first large customer comes in, layer on API auth for integrations, and soon manage agent-level identity for AI workflows.

Each stage demands varying degrees of identity and user management.

The next chapter of identity will be defined by how fast teams can adapt - shipping new auth capabilities without losing control over security or compliance. The best identity platforms will help developers stay quick, modular, and in control as their products scale.

b. Pricing and ownership

History shows how acquisitions unfold. When Twilio acquired SendGrid and Segment, both products operated independently for a while - then gradually aligned with Twilio’s enterprise rhythm. It’s not a criticism; it’s the natural pull of scale.

That’s exactly what developers worry about: when pricing becomes less transparent, when roadmaps tilt toward enterprise needs, and when autonomy fades into integration.

Developer-first products succeed because they offer the opposite - clarity, control, and predictability. As identity consolidates under large platforms, startups and fast-moving teams will look for infrastructure that stays close to their pace and priorities.

👉 Compare Scalekit and Stytch

How we see it at Scalekit

At Scalekit, we see this as validation, not competition.

It validates what many of us have believed for years: developer-first identity isn’t a niche; it’s a foundational layer of modern software. Every major platform now recognizes that authentication isn’t just a backend chore - it’s strategic infrastructure.

It also reinforces two beliefs that guide how we build:

a. Developer-first is not a tagline - it’s a product philosophy.

Developers are the new decision-makers. Authentication should empower them, not slow them down. Scalekit is built to stay modular and independent - so teams can add exactly what they need, when they need it, without disrupting what already works. Independence by design. Flexibility by default.

b. Identity is expanding - from people to agents.

The next generation of applications will need to authenticate not just users, but also AI agents acting on their behalf. Scalekit is designed for that world - where humans and agents coexist as first-class entities within every app.

The Stytch acquisition is a reminder that our space keeps evolving - some companies consolidate, others keep pushing boundaries. Both are signs of progress.

For teams that value independence - the ability to move fast, customize deeply, and stay close to their developers - Scalekit offers a path forward. Modular by design, future-ready by intent.

Because independence - for developers, for products, and for identity itself - still matters.

👉 Migrate to Scalekit without reconfig

FAQs

How does consolidation impact the modern B2B identity landscape?

Consolidation signals that developer identity has transitioned from a niche tool to a strategic enterprise requirement. When major platforms acquire independent providers it often shifts focus toward enterprise alignment and away from developer first agility. This creates a critical need for independent platforms that prioritize modular architecture and transparent pricing. For organizations building modern SaaS maintaining autonomy over the identity stack is essential to ensure that roadmap priorities and integration speeds remain aligned with internal development cycles rather than the corporate goals of a larger parent company.

Why is agent authentication becoming critical for AI native applications?

As software evolves from human centric interactions to agent driven workflows identity must adapt to treat AI agents as first class entities. Traditional user login methods are insufficient for autonomous agents acting on behalf of users. Advanced identity platforms now focus on secure delegated access and agent level authentication to ensure these automated services can safely interact with background processes and third party APIs. By implementing robust machine to machine and agent specific authentication protocols developers can maintain high security standards while enabling the complex cross service functionality that defines the next generation of AI native enterprise applications.

When should developers prioritize adding enterprise SSO to their applications?

Enterprise SSO becomes a priority as soon as a startup signs its first large scale corporate customer. These clients require centralized identity management to maintain security and compliance. Integrating enterprise ready features like SAML or OIDC allows developers to meet strict procurement requirements without overhauling their existing authentication stack. A modular approach enables teams to start with basic login methods and seamlessly layer on enterprise SSO and directory synchronization as the product scales. This ensures that the application remains attractive to enterprise buyers while preserving the flexibility needed for rapid feature development and deployment.

How does Scalekit simplify complex machine to machine authentication workflows?

Scalekit focuses on providing modular identity infrastructure that supports both human users and background services. By treating machine to machine and app to app interactions as core components of the identity stack it simplifies the management of API keys client credentials and delegated permissions. This approach is particularly valuable for developers building microservices or AI integrations where secure automated communication is required. Instead of building custom auth logic for every service interaction teams can leverage a unified platform that provides the necessary security controls and visibility to manage complex multi service architectures effectively and securely.

What role does dynamic client registration play in modern auth?

Dynamic client registration or DCR is essential for scaling B2B applications that require secure programmatic onboarding of third party integrations. It allows platforms to issue unique credentials and manage access levels without manual intervention which is a core requirement for developers building extensible ecosystems. In the context of AI agents and distributed services DCR provides the foundation for secure and automated identity provisioning. This ensures that every integration point is uniquely identified and authorized reducing the risk of credential leakage and providing granular control over how external services interact with sensitive enterprise data and internal resources.

Why is a modular architecture important for developer centric identity?

A modular architecture allows engineering teams to implement specific authentication features like SSO or MFA without disrupting their entire codebase. Unlike monolithic identity providers modular platforms offer lightweight SDKs and clean APIs that integrate seamlessly into existing workflows. This flexibility is vital for teams that need to ship fast while maintaining control over their security posture. It enables developers to customize the user experience deeply and adapt to changing requirements without being locked into a rigid all or nothing identity framework. Ultimately modularity empowers developers to build and scale identity features at their own pace.

How do independent identity platforms support long term security compliance?

Independent platforms prioritize developer agility while maintaining the rigorous standards required by security teams. They provide the visibility and control needed to enforce consistent security policies across all user types and service interactions. By focusing on modern protocols and transparent identity management these platforms help organizations meet compliance requirements like SOC2 or GDPR more efficiently. The ability to customize identity workflows ensures that security measures do not hinder user productivity or development speed. This balance is crucial for maintaining a strong security posture in a rapidly evolving threat landscape where identity is the primary perimeter.

How can developers authenticate AI agents within MCP server architectures?

Authenticating agents within Model Context Protocol or MCP architectures requires a shift toward delegated access and granular permissions. Developers must ensure that agents have the necessary credentials to fetch context and perform actions without exposing the full scope of a user identity. Modern identity platforms facilitate this by providing specialized authentication flows for agents and background services. This ensures that every request is properly authorized and logged creating a secure environment for AI agents to operate across different tools and data sources. This granular approach to agent identity is fundamental for building reliable and secure AI driven enterprise applications.

What are the main benefits of migrating to Scalekit identity?

Migrating to Scalekit allows developers to reclaim independence and flexibility in their identity stack. The platform is designed for seamless integration without requiring extensive reconfigurations making it easier to move away from legacy or consolidated providers. By choosing a provider that prioritizes modularity and AI readiness teams can future proof their applications for the next generation of digital interactions. Scalekit offers a developer first philosophy that focuses on clarity control and predictable scaling. This ensures that as your business grows your identity infrastructure remains an asset that drives innovation rather than a bottleneck that restricts your development roadmap.

No items found.
Compare Scalekit and Stytch
On this page
Share this article
Compare Scalekit and Stytch

Acquire enterprise customers with zero upfront cost

Every feature unlocked. No hidden fees.
Start Free
$0
/ month
1 million Monthly Active Users
100 Monthly Active Organizations
1 SSO connection
1 SCIM connection
10K Connected Accounts
Unlimited Dev & Prod environments
Connectors
/
salesforce
Live 25 tools

Salesforce integeration for AI Agents

The Salesforce API is documented. Connecting your agent to itcorrectly — for real users, at scale — is the part that takes weeks.

OAuth 2.0

Auto token refresh

Zero credential storage

Revocation detection

Sandbox + production

The real problem

Why this is harder than it looks

Most teams underestimate what "Salesforce OAuth" actually requires. The authorization flow itself is straightforward. The problems start after the user approves your app.

In production, each of your customers' employees connects their own Salesforce org. Access tokens expire — you need refresh logic that runs before expiry, not after a failed call. If a user revokes access inside Salesforce, you need to detect it and stop making calls on their behalf. Sandbox orgs use a different base URL than production; your code has to handle both without asking the user to configure anything. And if you're building a product — not an internal tool — the consent screen should show your brand, not a third-party library's name.

None of this is impossible to build. But it's a month of work that doesn't move your agent forward. And then you do it again for the next connector.

Scalekit is the infrastructure layer that handles all of it. Your agent names a tool and passes parameters. Scalekit takes care of which token to use, whether it's still valid, and what to do if it isn't.

Capabilities

What your agent can do with Salesforce

Once connected, your agent has 25 pre-built tools covering the full Salesforce object model:

  • Query anything with SOQL: filtered lists, aggregations, cross-object joins, custom fields
  • Create and update pipeline records: accounts, opportunities, contacts as deals move through stages
  • Full-text search with SOSL: across multiple Salesforce objects simultaneously
  • Atomic batch operations: create a Contact and link an Opportunity in one round trip via the Composite API
  • Schema introspection at runtime: describe any SObject, check org API limits, read report metadata
Setup context

What we're building

This guide connects a sales assistant agent to Salesforce — helping reps query accounts, surface open opportunities, and create records without leaving your product.

🤖
Example agent
Sales assistant managing pipeline on behalf of each rep
🔐
Auth model
B2B SaaS — each rep connects their own org. identifier = your user ID
⚙️
Scalekit account
app.scalekit.com — Client ID, Secret, Env URL
🐍
Runtime
Python 3.8+ · Node.js also available
Setup context

1 Setup: One SDK, One credential

Install the Scalekit SDK. The only credential your application manages is the Scalekit API key — no Salesforce secrets, no user tokens, nothing belonging to your customers.

Connected Accounts

2 Per-User Auth: Creating connected accounts

Each rep gets their own Connected Account, giving them a dedicated auth context. The identifier is any unique string from your system — a UUID, email, whatever you use internally

This call is idempotent — safe to call on every session start. Returns the existing account if one already exists.

Authorization Flow

3 The authorization flow

The rep authorizes your agent once. Scalekit generates the OAuth URL with correct scopes, PKCE challenge, and redirect handling pre-configured. After approval, you never see the token.

This call is idempotent — safe to call on every session start. Returns the existing account if one already exists.

Token management is automatic
After the user approves, Scalekit stores encrypted tokens and the connected account moves to ACTIVE. Access tokens refresh 5 minutes before expiry. If a rep revokes access in Salesforce, the account moves to REVOKED — no silent failures. Check account.status before critical operations.
Enterprise branding: Bring Your Own Credentials
For deployments where users should see your app name on the consent screen, register your own Salesforce Connected App credentials in the Scalekit dashboard. Token management stays fully handled.
Tool reference

All 25 Salesforce tools

Grouped by object and capability. Your agent calls tools by name — no API wrappers to write.

Accounts
salesforce_account_create
Create a new account with billing address, industry, revenue, and company metadata
salesforce_account_get
Retrieve a single account by ID with all standard and custom fields
salesforce_account_update
Update any field on an existing account record
salesforce_account_delete
Soft-delete an account from the org
Opportunities
salesforce_account_create
Create an opportunity with stage, amount, close date, and account association
salesforce_account_get
Retrieve a specific opportunity by ID with field selection
salesforce_account_update
Update stage, amount, close date, or any other opportunity field
salesforce_account_delete
List opportunities with pagination
Contacts
salesforce_account_create
Create a contact with name, email, phone, job title, and account association
salesforce_account_get
Retrieve a specific contact by ID with field selection
Queries & Search
salesforce_query_soql
Execute any SOQL query — filters, joins, aggregations, custom fields
salesforce_soql_execute
Alternative SOQL execution endpoint for custom query patterns
salesforce_search_sosl
Full-text search across multiple Salesforce objects simultaneously
salesforce_search_parameterized
Simplified search with predefined parameters — object type, fields, search text
Generic SObject Operations
salesforce_sobject_create
Create a record for any SObject type — standard or custom objects
salesforce_sobject_get
Retrieve any SObject record by ID and type
salesforce_sobject_update
Update any SObject record. Only the fields provided are changed
salesforce_sobject_delete
Permanently delete any SObject record by ID
Batch & Metadata
salesforce_composite
Create a record for any SObject type — standard or custom objects
salesforce_global_describe
Retrieve any SObject record by ID and type
salesforce_object_describe
Update any SObject record. Only the fields provided are changed
salesforce_limits_get
Update any SObject record. Only the fields provided are changed
salesforce_dashboard_metadata_get
Update any SObject record. Only the fields provided are changed
salesforce_report_metadata_get
Retrieve structure, fields, groupings, and configuration for a specific report
Connector notes

Salesforce-Specific behavior

Sandbox vs. production — handled automatically
Salesforce sandbox orgs use a different base URL for API calls than production orgs. Scalekit detects this based on which environment the user authorizes through and routes accordingly. No code changes needed.
Connected App IP restrictions cause silent 401s
If your Salesforce Connected App has IP range restrictions configured, tokens may fail silently for users outside those ranges. This is a Salesforce org configuration issue. If you see unexplained 401s after successful authorization, check the Connected App's IP restriction settings in Salesforce Setup.
Infrastructure decision

Why not build this yourself

The Salesforce OAuth flow is documented. Token storage isn't technically hard. But here's what you're actually signing up for:

PROBLEM 01
Org-specific token endpoints and sandbox vs. production URL handling that varies by configuration
PROBLEM 02
Refresh token rotation behavior that differs by Connected App config — silent failures if handled wrong
PROBLEM 03
Revocation detection and graceful handling when users disconnect from Salesforce org settings
PROBLEM 04
Scoped, zero-trust credential architecture — your app stores zero Salesforce credentials by design

That's one connector. Your agent product will eventually need Slack, Gmail, HubSpot, Notion, and whatever else your customers ask for. Each has its own OAuth quirks and failure modes.

Scalekit maintains every connector. You maintain none of them.

Ready to ship

Connect your agent to Salesforce in minutes

Free to start. No Salesforce Connected App required. Token management fully handled.
2 columns Table
salesforce_sobject_create
Create a record for any SObject type — standard or custom objects
salesforce_sobject_get
Retrieve any SObject record by ID and type
salesforce_sobject_update
Update any SObject record. Only the fields provided are changed
salesforce_sobject_delete
Permanently delete any SObject record by ID
3 columns Table
salesforce_sobject_create
Create a record for any SObject type — standard or custom objects
Create a record for any SObject type — standard or custom objects
salesforce_sobject_get
Retrieve any SObject record by ID and type
Retrieve any SObject record by ID and type
salesforce_sobject_update
Update any SObject record. Only the fields provided are changed
Update any SObject record. Only the fields provided are changed
salesforce_sobject_delete
Permanently delete any SObject record by ID
Permanently delete any SObject record by ID
4 columns Table
salesforce_sobject_create
Create a record for any SObject type — standard or custom objects
Create a record for any SObject type — standard or custom objects
Create a record for any SObject type — standard or custom objects
salesforce_sobject_get
Retrieve any SObject record by ID and type
Retrieve any SObject record by ID and type
Retrieve any SObject record by ID and type
salesforce_sobject_update
Update any SObject record. Only the fields provided are changed
Update any SObject record. Only the fields provided are changed
Update any SObject record. Only the fields provided are changed
salesforce_sobject_delete
Permanently delete any SObject record by ID
Permanently delete any SObject record by ID
Permanently delete any SObject record by ID

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

On this page
Compare Scalekit and Stytch