|
7498 | 7498 | "additionalProperties": false |
7499 | 7499 | }, |
7500 | 7500 | "description": "Authorization servers available for this OAuth service." |
| 7501 | + }, |
| 7502 | + "fields": { |
| 7503 | + "maxItems": 20, |
| 7504 | + "type": "array", |
| 7505 | + "items": { |
| 7506 | + "type": "object", |
| 7507 | + "properties": { |
| 7508 | + "id": { |
| 7509 | + "type": "string", |
| 7510 | + "minLength": 1, |
| 7511 | + "maxLength": 255, |
| 7512 | + "description": "Exact create-body field name." |
| 7513 | + }, |
| 7514 | + "label": { |
| 7515 | + "type": "string", |
| 7516 | + "minLength": 1, |
| 7517 | + "maxLength": 255, |
| 7518 | + "description": "Human-readable field label." |
| 7519 | + }, |
| 7520 | + "placeholder": { |
| 7521 | + "type": "string", |
| 7522 | + "minLength": 1, |
| 7523 | + "maxLength": 1000, |
| 7524 | + "description": "Suggested input placeholder." |
| 7525 | + }, |
| 7526 | + "required": { |
| 7527 | + "type": "boolean", |
| 7528 | + "description": "Whether the field is required for the selected flow." |
| 7529 | + }, |
| 7530 | + "secret": { |
| 7531 | + "type": "boolean", |
| 7532 | + "description": "Whether the submitted field is write-only secret material." |
| 7533 | + }, |
| 7534 | + "multiline": { |
| 7535 | + "type": "boolean", |
| 7536 | + "description": "Whether the field is intended for multi-line input." |
| 7537 | + }, |
| 7538 | + "requiredForAuthMethods": { |
| 7539 | + "description": "Authentication methods for which this field is required.", |
| 7540 | + "minItems": 1, |
| 7541 | + "maxItems": 10, |
| 7542 | + "type": "array", |
| 7543 | + "items": { |
| 7544 | + "type": "string", |
| 7545 | + "minLength": 1, |
| 7546 | + "maxLength": 64 |
| 7547 | + } |
| 7548 | + }, |
| 7549 | + "options": { |
| 7550 | + "description": "Fixed values accepted by a selector field.", |
| 7551 | + "minItems": 1, |
| 7552 | + "maxItems": 20, |
| 7553 | + "type": "array", |
| 7554 | + "items": { |
| 7555 | + "type": "object", |
| 7556 | + "properties": { |
| 7557 | + "value": { |
| 7558 | + "type": "string", |
| 7559 | + "minLength": 1, |
| 7560 | + "maxLength": 255, |
| 7561 | + "description": "Submitted option value." |
| 7562 | + }, |
| 7563 | + "label": { |
| 7564 | + "type": "string", |
| 7565 | + "minLength": 1, |
| 7566 | + "maxLength": 255, |
| 7567 | + "description": "Human-readable option label." |
| 7568 | + } |
| 7569 | + }, |
| 7570 | + "required": ["value", "label"], |
| 7571 | + "additionalProperties": false |
| 7572 | + } |
| 7573 | + }, |
| 7574 | + "hint": { |
| 7575 | + "description": "Provider-specific setup guidance.", |
| 7576 | + "type": "string", |
| 7577 | + "minLength": 1, |
| 7578 | + "maxLength": 2000 |
| 7579 | + } |
| 7580 | + }, |
| 7581 | + "required": ["id", "label", "placeholder", "required", "secret", "multiline"], |
| 7582 | + "additionalProperties": false |
| 7583 | + }, |
| 7584 | + "description": "Write-only setup fields required before starting this OAuth flow." |
7501 | 7585 | } |
7502 | 7586 | }, |
7503 | 7587 | "required": [ |
|
7508 | 7592 | "providerFamily", |
7509 | 7593 | "available", |
7510 | 7594 | "supportsReconnect", |
7511 | | - "authorizationOptions" |
| 7595 | + "authorizationOptions", |
| 7596 | + "fields" |
7512 | 7597 | ], |
7513 | 7598 | "additionalProperties": false |
7514 | 7599 | }, |
|
7710 | 7795 | "providerFamily": "salesforce", |
7711 | 7796 | "available": true, |
7712 | 7797 | "supportsReconnect": true, |
| 7798 | + "fields": [], |
7713 | 7799 | "authorizationOptions": [ |
7714 | 7800 | { |
7715 | 7801 | "providerId": "salesforce", |
|
7886 | 7972 | "CreateCredentialConnectionBody": { |
7887 | 7973 | "anyOf": [ |
7888 | 7974 | { |
7889 | | - "type": "object", |
7890 | | - "properties": { |
7891 | | - "workspaceId": { |
7892 | | - "type": "string", |
7893 | | - "minLength": 1, |
7894 | | - "maxLength": 128, |
7895 | | - "description": "Workspace that will own the credential." |
7896 | | - }, |
7897 | | - "providerId": { |
7898 | | - "type": "string", |
7899 | | - "minLength": 1, |
7900 | | - "maxLength": 255, |
7901 | | - "description": "Exact OAuth provider ID returned by credential-provider discovery." |
| 7975 | + "anyOf": [ |
| 7976 | + { |
| 7977 | + "type": "object", |
| 7978 | + "properties": { |
| 7979 | + "workspaceId": { |
| 7980 | + "type": "string", |
| 7981 | + "minLength": 1, |
| 7982 | + "maxLength": 128, |
| 7983 | + "description": "Workspace that will own the credential." |
| 7984 | + }, |
| 7985 | + "displayName": { |
| 7986 | + "type": "string", |
| 7987 | + "minLength": 1, |
| 7988 | + "maxLength": 255, |
| 7989 | + "description": "Name shown for the new credential in Sim." |
| 7990 | + }, |
| 7991 | + "providerId": { |
| 7992 | + "type": "string", |
| 7993 | + "const": "quickbooks", |
| 7994 | + "description": "QuickBooks OAuth provider ID returned by credential-provider discovery." |
| 7995 | + }, |
| 7996 | + "oauthClientConfig": { |
| 7997 | + "type": "object", |
| 7998 | + "properties": { |
| 7999 | + "clientId": { |
| 8000 | + "type": "string", |
| 8001 | + "minLength": 1, |
| 8002 | + "maxLength": 255, |
| 8003 | + "description": "Client ID for the caller-managed Intuit OAuth application." |
| 8004 | + }, |
| 8005 | + "clientSecret": { |
| 8006 | + "type": "string", |
| 8007 | + "minLength": 1, |
| 8008 | + "maxLength": 512, |
| 8009 | + "description": "Write-only client secret for the caller-managed Intuit OAuth application.", |
| 8010 | + "writeOnly": true |
| 8011 | + }, |
| 8012 | + "environment": { |
| 8013 | + "type": "string", |
| 8014 | + "enum": ["sandbox", "production"], |
| 8015 | + "description": "Intuit company environment used for authorization and API requests." |
| 8016 | + }, |
| 8017 | + "webhookVerifierToken": { |
| 8018 | + "type": "string", |
| 8019 | + "minLength": 1, |
| 8020 | + "maxLength": 512, |
| 8021 | + "description": "Write-only verifier token for webhook signatures from the caller-managed app.", |
| 8022 | + "writeOnly": true |
| 8023 | + } |
| 8024 | + }, |
| 8025 | + "required": ["clientId", "clientSecret", "environment", "webhookVerifierToken"], |
| 8026 | + "additionalProperties": false, |
| 8027 | + "description": "Write-only caller-managed Intuit OAuth app configuration." |
| 8028 | + } |
| 8029 | + }, |
| 8030 | + "required": ["workspaceId", "displayName", "providerId", "oauthClientConfig"], |
| 8031 | + "additionalProperties": false |
7902 | 8032 | }, |
7903 | | - "displayName": { |
7904 | | - "type": "string", |
7905 | | - "minLength": 1, |
7906 | | - "maxLength": 255, |
7907 | | - "description": "Name shown for the new credential in Sim." |
| 8033 | + { |
| 8034 | + "type": "object", |
| 8035 | + "properties": { |
| 8036 | + "workspaceId": { |
| 8037 | + "type": "string", |
| 8038 | + "minLength": 1, |
| 8039 | + "maxLength": 128, |
| 8040 | + "description": "Workspace that will own the credential." |
| 8041 | + }, |
| 8042 | + "displayName": { |
| 8043 | + "type": "string", |
| 8044 | + "minLength": 1, |
| 8045 | + "maxLength": 255, |
| 8046 | + "description": "Name shown for the new credential in Sim." |
| 8047 | + }, |
| 8048 | + "providerId": { |
| 8049 | + "type": "string", |
| 8050 | + "enum": [ |
| 8051 | + "google-email", |
| 8052 | + "google-drive", |
| 8053 | + "google-docs", |
| 8054 | + "google-sheets", |
| 8055 | + "google-forms", |
| 8056 | + "google-calendar", |
| 8057 | + "google-contacts", |
| 8058 | + "google-ads", |
| 8059 | + "google-bigquery", |
| 8060 | + "google-tasks", |
| 8061 | + "google-vault", |
| 8062 | + "google-groups", |
| 8063 | + "google-chat", |
| 8064 | + "google-meet", |
| 8065 | + "vertex-ai", |
| 8066 | + "microsoft-ad", |
| 8067 | + "microsoft-dataverse", |
| 8068 | + "microsoft-excel", |
| 8069 | + "microsoft-planner", |
| 8070 | + "microsoft-teams", |
| 8071 | + "microsoft-word", |
| 8072 | + "outlook", |
| 8073 | + "onedrive", |
| 8074 | + "sharepoint", |
| 8075 | + "x", |
| 8076 | + "tiktok", |
| 8077 | + "confluence", |
| 8078 | + "jira", |
| 8079 | + "airtable", |
| 8080 | + "bitbucket", |
| 8081 | + "notion", |
| 8082 | + "clickup", |
| 8083 | + "linear", |
| 8084 | + "manageengine-sdp", |
| 8085 | + "monday", |
| 8086 | + "box", |
| 8087 | + "dropbox", |
| 8088 | + "shopify", |
| 8089 | + "slack", |
| 8090 | + "reddit", |
| 8091 | + "wealthbox", |
| 8092 | + "webflow", |
| 8093 | + "trello", |
| 8094 | + "asana", |
| 8095 | + "attio", |
| 8096 | + "calcom", |
| 8097 | + "docusign", |
| 8098 | + "pipedrive", |
| 8099 | + "hubspot", |
| 8100 | + "linkedin", |
| 8101 | + "instagram", |
| 8102 | + "salesforce", |
| 8103 | + "salesforce-sandbox", |
| 8104 | + "zoho-desk", |
| 8105 | + "zoom", |
| 8106 | + "wordpress", |
| 8107 | + "spotify" |
| 8108 | + ], |
| 8109 | + "description": "Exact OAuth provider ID returned by credential-provider discovery." |
| 8110 | + } |
| 8111 | + }, |
| 8112 | + "required": ["workspaceId", "displayName", "providerId"], |
| 8113 | + "additionalProperties": false |
7908 | 8114 | } |
7909 | | - }, |
7910 | | - "required": ["workspaceId", "providerId", "displayName"], |
7911 | | - "additionalProperties": false |
| 8115 | + ] |
7912 | 8116 | }, |
7913 | 8117 | { |
7914 | 8118 | "type": "object", |
|
7923 | 8127 | "type": "string", |
7924 | 8128 | "minLength": 1, |
7925 | 8129 | "maxLength": 255, |
7926 | | - "description": "Existing OAuth credential to reconnect in place." |
| 8130 | + "description": "Existing OAuth credential to reconnect in place. QuickBooks reconnects also require oauthClientConfig with the Intuit client ID, client secret, environment, and webhook verifier token." |
| 8131 | + }, |
| 8132 | + "oauthClientConfig": { |
| 8133 | + "description": "Write-only Intuit OAuth app configuration. Required when credentialId identifies a QuickBooks credential; omit it for other providers.", |
| 8134 | + "type": "object", |
| 8135 | + "properties": { |
| 8136 | + "clientId": { |
| 8137 | + "type": "string", |
| 8138 | + "minLength": 1, |
| 8139 | + "maxLength": 255, |
| 8140 | + "description": "Client ID for the caller-managed Intuit OAuth application." |
| 8141 | + }, |
| 8142 | + "clientSecret": { |
| 8143 | + "type": "string", |
| 8144 | + "minLength": 1, |
| 8145 | + "maxLength": 512, |
| 8146 | + "description": "Write-only client secret for the caller-managed Intuit OAuth application.", |
| 8147 | + "writeOnly": true |
| 8148 | + }, |
| 8149 | + "environment": { |
| 8150 | + "type": "string", |
| 8151 | + "enum": ["sandbox", "production"], |
| 8152 | + "description": "Intuit company environment used for authorization and API requests." |
| 8153 | + }, |
| 8154 | + "webhookVerifierToken": { |
| 8155 | + "type": "string", |
| 8156 | + "minLength": 1, |
| 8157 | + "maxLength": 512, |
| 8158 | + "description": "Write-only verifier token for webhook signatures from the caller-managed app.", |
| 8159 | + "writeOnly": true |
| 8160 | + } |
| 8161 | + }, |
| 8162 | + "required": ["clientId", "clientSecret", "environment", "webhookVerifierToken"], |
| 8163 | + "additionalProperties": false |
7927 | 8164 | } |
7928 | 8165 | }, |
7929 | 8166 | "required": ["workspaceId", "credentialId"], |
|
0 commit comments