Credentials
Found this helpful? Share it:
Found this helpful? Share it:
Credentials lets a workspace store API keys and app connections once, encrypted, so your functions, commands, and agents can use them without you pasting a key into a chat ๐
Any workspace member can use Credentials Free and up.
The two behave differently enough to be worth telling apart:
Keys are values you paste or generate: an API key, a password, an SSH key, a certificate, a service-account JSON file. Idapt keeps a version history, so rotating one is reversible.
Connections are apps you sign in to, like GitHub. Idapt holds the resulting token and renews it for you. There is no version history, because the token rotates on its own schedule.
Go to Credentials and choose Add a key. You can enter a value, have Idapt generate one, or upload a file.
Name: the variable your code reads, like OPENAI_API_KEY. It must start with a letter or
underscore and contain only letters, digits, and underscores,
because it doubles as an environment-variable name when mounted.
Value: stored encrypted, never returned in full on reads, and never sent to an agent. Choosing Generate has Idapt create the value on the server, so it never travels through your browser at all.
Allow agents to use this: on by default. Agents can mount the credential by name without seeing its value. Turn it off for credentials no agent should touch under any circumstances.
Choose Connect an app, pick the provider, and approve the access it asks for. When you come back, Idapt shows you what the provider actually granted, which is sometimes less than what was asked for. If something is missing you can reconnect and approve it, rather than discovering the gap later as an unexplained failure.
You can connect the same provider more than once. Give each connection an account label so a work account and a personal one stay apart.
A stored credential shows only a masked preview.
Reveal shows the value in your browser. It hides itself again after 30 seconds, or as soon as you switch windows.
Rotate replaces the value. The old one is kept in version history, so you can put it back if the new one turns out to be wrong. Anything using the credential picks up the new value immediately.
Delete moves it to the trash, where it stays recoverable for 30 days.
Revealing works only in the app, in your own browser session. An API key cannot reveal a credential, and neither can an agent. There is no reveal action available to either.
Every rotation of a key adds a version. You can reveal an old version, or restore it. Restoring adds a new version holding the old value rather than rewriting the history, so the move is itself reversible.
Idapt keeps the last 20 versions, up to a year. If you need a value gone for good, purge destroys it permanently and leaves a note that it existed. That one cannot be undone.
A binding says which things may use a credential. A new credential starts with a workspace-wide binding, so anything in the workspace can use it. Narrow that by removing it and adding specific bindings: to one computer, one function, or one integration.
Viewers see credential names and descriptions but not values. Editors, admins, and owners can create, reveal, rotate, and delete. See Members and roles.
Storing a credential keeps it out of your chats and prompts. Three things read the values you store:
Functions: a deployed function receives only the credentials it declares, injected as environment variables.
Commands on a computer: when you run a command with computer exec, you can name up to five credentials
to mount, as environment variables by default or as files in a
private directory. The values are redacted from the command's
output and logs. See Computer commands and files.
Integrations: a connection you authorized, or a
${credential:NAME} reference in a header, resolved when the call
is made.
An agent can manage credentials by name, listing, creating, renaming, and deleting them, but it can never read a value back, and it can never supply one. When an agent wants a credential stored, it shows you a form and you type the value yourself, so the value never passes through the conversation. See Agent permissions.
Was this helpful?