Zendesk
Connect to Zendesk. Manage customer support tickets, users, organizations, and help desk operations
Connect to Zendesk. Manage customer support tickets, users, organizations, and help desk operations
Supports authentication: OAuth 2.0
Set up the agent connector
Section titled βSet up the agent connectorβRegister your Scalekit environment with the Zendesk connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Youβll need your OAuth client credentials from your Zendesk Admin Center.
-
Set up auth redirects
-
In Scalekit dashboard, go to Agent Auth β Create Connection. Find Zendesk and click Create. Copy the redirect URI. It looks like
https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.
-
In your Zendesk Admin Center, go to Apps and integrations β APIs β Zendesk API β OAuth Clients and click Add OAuth Client.
-
Fill in a client name, set Client Kind to Confidential, paste the copied URI into the Redirect URLs field, and click Save.
-
-
Get client credentials
After saving, open the OAuth client record:
- Client ID β listed under Unique Identifier
- Client Secret β displayed at the bottom of the page after saving
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to Agent Auth β Connections and open the connection you created.
-
Enter your credentials:
- Client ID (from your Zendesk OAuth client)
- Client Secret (from your Zendesk OAuth client)

-
Click Save.
-
Connect a userβs Zendesk account and make API calls on their behalf β Scalekit handles OAuth and token management automatically.
import scalekit.client, osfrom dotenv import load_dotenvload_dotenv()
connection_name = "zendesk" # get your connection name from connection configurationsidentifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com β Developers β Settings β API Credentialstry: scalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"), ) actions = scalekit_client.actions print("β Scalekit client initialized")except Exception as e: print(f"β Failed to initialize Scalekit client: {e}") exit(1)
# Authenticate the usertry: link_response = actions.get_authorization_link( connection_name=connection_name, identifier=identifier ) # present this link to your user for authorization, or click it yourself for testing print(f"β Authorization link generated successfully") print("π Authorize Zendesk:", link_response.link) input("Press Enter after authorizing...")except Exception as e: print(f"β Failed to get authorization link: {e}") exit(1)
# Make a request via Scalekit proxytry: result = actions.request( connection_name=connection_name, identifier=identifier, path="/api/v2/users/me", method="GET" ) print(f"β API request successful") print(result)except Exception as e: print(f"β API request failed: {e}") exit(1)