Third-Party App Integrations (SDK)
Some functions sign in to a third-party application — Teamwork Cloud, Google Workspace, Windchill, and others — to do their work. Connecting those applications is an administrator task performed in the Istari Digital web app.
Configuring integrations
An organization administrator connects each application once, chooses its sign-in method (OAuth2 / OIDC or Basic), and creates any shared service accounts. See App Integrations in the Administrator Guide for step-by-step setup, including Teamwork Cloud with OIDC, Google Workspace, and a Windchill service account.
Credentials are encrypted at rest and delivered to the agent that runs a job automatically — no key setup is required.
Submitting a job with a stored credential
When a function declares an authentication input, reference one of your stored credentials at submission by passing auth_bindings to add_job. Each binding pairs one of the function's authentication inputs with the credential that should feed it:
from istari_digital_client import NewCredentialBinding
# Pick a stored credential — your linked accounts and any organization
# service accounts both appear here.
credentials = client.list_credentials()
twc_credential = next(c for c in credentials if c.name == "My Teamwork Cloud account")
job = client.add_job(
model.id,
"twc_extract",
auth_bindings=[
NewCredentialBinding(
input_name="twc_auth_login",
credential_id=twc_credential.id,
)
],
)
input_nameis the name of the function'sauth_infoinput, as declared in the module's manifest. Check the function's documentation (or the manifest itself) for the input name it expects.credential_idis the ID of a stored credential you can use: one of your own linked accounts or an organization service account. To find it, callclient.list_credentials()— it returns every credential available to you, each with anid, a human-readablename(the name shown under Linked Accounts in the web app), and astatus. Passauth_integration_idto narrow the list to one application, and pick the credential bynameas in the example above.- A function with more than one authentication input takes one binding per input.
No secret travels with the submission — a queued job holds no live token. The platform mints a fresh sign-in from the referenced credential only when an agent claims the job, so credentials added or refreshed after submission are picked up automatically.
Model.add_job(...) accepts the same auth_bindings argument. This is the SDK counterpart of the web app's credential picker, described in App Integrations.
Using a credential in a module
If you are building a module that signs in to an external system, declare an authentication input and read the delivered sign-in at run time. See Authenticating to external systems from a module.