Use this option for Bentley Infrastructure Cloud. Speckle uses your Bentley account to show the projects and work areas you can access.
1
Open the ProjectWise integration
Open a Speckle project.
In the project sidebar, expand Integrations and select ProjectWise.
Select Connect to ProjectWise.
2
Sign in with Bentley
Sign in to your Bentley account.
Select Allow in the Bentley authorization dialog.
3
Choose and sync a file
Select an iTwin project.
Browse the available Share folders or ProjectWise Web work areas.
Select one or more supported files.
Review the file settings, then select Create.
Speckle creates a model for each selected file and starts the first sync.
Use this option to connect directly to an on-premises ProjectWise WSG server. You do not need to sign in with a Bentley cloud account.Before starting, obtain the WSG base URL and ProjectWise credentials from your IT administrator. The server must support WSG v2.9 and Native Authentication.
1
Open the ProjectWise integration
Open a Speckle project.
In the project sidebar, expand Integrations and select ProjectWise.
Select Add datasource.
If ProjectWise Cloud is already connected, use Add datasource in the connection bar instead.
2
Connect a datasource
Enter the WSG base URL, such as https://projectwise.example.com.
Select Get datasources.
Choose the datasource you want to connect.
Enter your ProjectWise username and password.
Select Test & Connect.
Enter the server base URL only. Do not add /WS/v2.9/Repositories to the URL.
3
Choose and sync a file
Select the datasource tab.
Browse its work areas and folders.
Select one or more supported files.
Review the file settings, then select Create.
Speckle creates a model for each selected file and starts the first sync.
Speckle encrypts your ProjectWise credentials before storing them. They enable server-side file downloads and background synchronization.
Yes. Speckle downloads and converts source files but does not change files or folders in ProjectWise. The converted data is stored as versioned objects in the Speckle project.
How quickly are file changes synced?
Speckle checks ProjectWise on a schedule, so a change may take a few minutes to appear. When a change is detected, Speckle creates a new model version from the file version current at that check. Versions superseded between checks, or whose sync fails, are not synced later; see Sync guarantees.
How do I manage an on-premises connection?
Each connected datasource appears as a tab. Use the settings icon next to its name to change the server, datasource, username, or password.Saved connections are personal to your Speckle user in that workspace. Other workspace members connect the datasource with their own ProjectWise credentials.Leave the username and password blank when editing a connection to keep the stored credentials. Enter both fields to replace them.
What happens if I disconnect a datasource?
Disconnecting a datasource deletes its saved credentials. Existing syncs that use them cannot update; connect again and recreate those syncs if needed.
What happens if my stored credentials stop working?
Speckle immediately pauses every sync using that connection and emails the connection owner. This prevents repeated attempts from locking the ProjectWise account.
What does the ProjectWise integration support?
The integration supports model and file synchronization. It does not provide general ProjectWise document management.
Speckle cannot reach my WSG server
Confirm that you entered the WSG base URL and that Speckle Cloud can resolve and reach it over HTTPS.Ask your IT administrator to check DNS, firewall rules, the TLS certificate, and the /WS/v2.9/Repositories endpoint.
No datasources were found
Confirm that the URL points to the WSG server, not a ProjectWise Web page. The server must return its repositories from /WS/v2.9/Repositories.
The server does not support Basic Auth login
Ask your ProjectWise administrator to enable Native Authentication for WSG. Bentley IMS authentication is used by the Cloud connection and cannot replace Native Authentication for this On-Prem connection.
My password changed and the sync was paused
Open the datasource settings, enter the new username and password, and save the connection. Then open each affected sync and select Resume.
A synced file was moved or deleted
Speckle pauses the sync after the file is missing for three checks. Restore it to its original location or create a new sync from the file’s new location.
My cloud projects or files are missing
Confirm that your Bentley account can access the project. Also confirm that the Speckle service account has been added to the relevant Bentley project.
Can I use ProjectWise models with Speckle Intelligence?
Yes. After a model is synced, it can be used with Speckle Intelligence, dashboards, automations, and other Speckle workflows.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Speckle Docs","colors":{"primary":"#2563EB","light":"#3B82F6","dark":"#2563EB"},"logo":{"light":"https://mintcdn.com/speckle/8FGkkbZZbcuHzOBq/logo/light.svg?fit=max\u0026auto=format\u0026n=8FGkkbZZbcuHzOBq\u0026q=85\u0026s=9fc87cac252fa8cc443a9828ecbace70","dark":"https://mintcdn.com/speckle/8FGkkbZZbcuHzOBq/logo/dark.svg?fit=max\u0026auto=format\u0026n=8FGkkbZZbcuHzOBq\u0026q=85\u0026s=560ffcf355d3abfde56e5f8e514a64b7"},"favicon":"https://mintcdn.com/speckle/EShMFmfm7tGBxVKq/favicon-smaller.svg?fit=max\u0026auto=format\u0026n=EShMFmfm7tGBxVKq\u0026q=85\u0026s=805ae0301be5e103926e84e99871779c","navbar":{"links":[{"href":"https://speckle.systems/","label":"Speckle"},{"href":"https://speckle.community/","label":"Support"}],"primary":{"type":"button","label":"Sign up","href":"https://app.speckle.systems/?utm_source=Docs\u0026utm_medium=SignUp\u0026utm_campaign=Docs"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/specklesystems","youtube":"https://www.youtube.com/@SpeckleSystems","github":"https://github.com/specklesystems","instagram":"https://www.instagram.com/specklesystems"}},"icons":{"library":"fontawesome"},"integrations":{"ga4":{"measurementId":"G-05WEYFZ28C"},"intercom":{"appId":"hoiaq4wn"},"mixpanel":{"projectToken":"acd87c5a50b56df91a795e999812a3a4"}},"contextual":{"options":["copy","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":true},"markdown":{"instructions":["These docs describe Speckle as it works today, including everything released in 2026.9. Treat page content as current unless the page or section says it applies only to versions published before 2026.9.","Content scoped to versions published before 2026.9 (the object graph and root object, Proxies, Receive2, operations.receive, object.children) applies only to model versions in that earlier data format. For versions published in 2026.9, answer from the Object model pages and the SDK migration guides.","The What's new pages summarise what changed in 2026.9 and link to the page that documents each change. Answer from the linked page rather than from the summary. Legacy (v2) connectors are retired; send questions about them to the community help forum.","Match guidance to the customer's deployment, model data format, connector, plan and permissions. Self-hosted servers on a release before 2026.9 and compatibility-mode workflows follow the Compatibility mode page. If an unknown version or data format changes the answer, ask one focused question; do not infer the deployment version from the date alone."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"speckle","hasAudioNarration":false,"actualSubdomain":"speckle","customDomains":["docs.speckle.systems"],"gitSource":{"type":"github","owner":"specklesystems","repo":"speckle-docs-new","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb140c3328f53f4240817b","collectionId":"e84568b7-084f-4e54-ab40-8ddd30ea6786","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb140c3328f53f4240817b"},"feedback":{"issues":true},"entitlements":{},"buildId":"6aeb140c3328f53f4240817b","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Developers","count":200},{"language":"default","tag":"User Guides","count":95},{"language":"default","tag":"SDKs","count":65},{"language":"default","tag":"API Reference","count":54},{"language":"default","tag":"Viewer","count":50},{"language":"default","tag":"Connectors","count":39},{"language":"default","tag":"Publishing \u0026 Loading","count":37},{"language":"default","tag":"C# .NET","count":33},{"language":"default","tag":"Python","count":30},{"language":"default","tag":"Guides","count":23}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#footer div:first-child>div:first-child>div:first-child{display:none}.header-link+p{margin-top:0.6rem}li .frame{margin-top:1rem;margin-bottom:1.5rem}div:has(>.frame)+div:has(>.frame){margin-top:0.75rem}"}],"page":{"pagePath":"connectors/cloud-integrations/projectwise","slug":"/connectors/cloud-integrations/projectwise","pageMetadata":{"title":"Bentley ProjectWise","sidebarTitle":"Bentley ProjectWise","description":"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.","tag":"Enterprise","href":"/connectors/cloud-integrations/projectwise"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Badge,Heading,Info,Note,Step,Steps,Tab,Table,Tabs}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Badge)_missingMdxReference(`Badge`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(Badge,{children:`Alpha`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`The Bentley ProjectWise integration is available on the `,_jsx(_components.strong,{children:`Enterprise`}),` plan. To use it on another\nplan, `,_jsx(_components.a,{href:`mailto:[email protected]?subject=Bentley%20ProjectWise%20Integration%20enquiry`,children:`talk to\nsales`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`choose-a-connection`,children:`Choose a connection`}),`\n`,_jsx(_components.p,{children:`Speckle can connect to ProjectWise in two ways. Choose the option that matches where your ProjectWise data is hosted and how users authenticate.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Connection`}),_jsx(_components.th,{children:`Use it for`}),_jsx(_components.th,{children:`Authentication`}),_jsx(_components.th,{children:`IT preparation`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cloud`})}),_jsx(_components.td,{children:`Bentley Infrastructure Cloud projects`}),_jsx(_components.td,{children:`Bentley account through IMS`}),_jsx(_components.td,{children:`Add the Speckle service account to each project`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`On-Prem`})}),_jsx(_components.td,{children:`ProjectWise servers exposed through WSG`}),_jsx(_components.td,{children:`ProjectWise Native Authentication with a username and password`}),_jsx(_components.td,{children:`Make WSG reachable from Speckle and enable Native Authentication`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Your IT administrator should complete the relevant steps in `,_jsx(_components.a,{href:`/it-admin/integrations/projectwise`,children:`Configure Bentley ProjectWise Integration`}),` before users connect.`]}),`\n`,_jsx(Heading,{level:`2`,id:`connect-to-projectwise`,children:`Connect to ProjectWise`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Cloud`,id:`cloud`,children:[_jsx(_components.p,{children:`Use this option for Bentley Infrastructure Cloud. Speckle uses your Bentley account to show the projects and work areas you can access.`}),_jsxs(Steps,{children:[_jsx(Step,{title:`Open the ProjectWise integration`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open a Speckle project.`}),`\n`,_jsxs(_components.li,{children:[`In the project sidebar, expand `,_jsx(_components.strong,{children:`Integrations`}),` and select `,_jsx(_components.strong,{children:`ProjectWise`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Connect to ProjectWise`}),`.`]}),`\n`]})}),_jsx(Step,{title:`Sign in with Bentley`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Sign in to your Bentley account.`}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Allow`}),` in the Bentley authorization dialog.`]}),`\n`]})}),_jsxs(Step,{title:`Choose and sync a file`,children:[_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Select an iTwin project.`}),`\n`,_jsxs(_components.li,{children:[`Browse the available `,_jsx(_components.strong,{children:`Share`}),` folders or `,_jsx(_components.strong,{children:`ProjectWise Web`}),` work areas.`]}),`\n`,_jsx(_components.li,{children:`Select one or more supported files.`}),`\n`,_jsxs(_components.li,{children:[`Review the file settings, then select `,_jsx(_components.strong,{children:`Create`}),`.`]}),`\n`]}),_jsx(_components.p,{children:`Speckle creates a model for each selected file and starts the first sync.`})]})]})]}),_jsxs(Tab,{title:`On-Prem`,id:`on-prem`,children:[_jsx(_components.p,{children:`Use this option to connect directly to an on-premises ProjectWise WSG server. You do not need to sign in with a Bentley cloud account.`}),_jsx(_components.p,{children:`Before starting, obtain the WSG base URL and ProjectWise credentials from your IT administrator. The server must support WSG v2.9 and Native Authentication.`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the ProjectWise integration`,children:[_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open a Speckle project.`}),`\n`,_jsxs(_components.li,{children:[`In the project sidebar, expand `,_jsx(_components.strong,{children:`Integrations`}),` and select `,_jsx(_components.strong,{children:`ProjectWise`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Add datasource`}),`.`]}),`\n`]}),_jsxs(_components.p,{children:[`If ProjectWise Cloud is already connected, use `,_jsx(_components.strong,{children:`Add datasource`}),` in the connection bar instead.`]})]}),_jsxs(Step,{title:`Connect a datasource`,children:[_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Enter the WSG base URL, such as `,_jsx(_components.code,{children:`https://projectwise.example.com`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Get datasources`}),`.`]}),`\n`,_jsx(_components.li,{children:`Choose the datasource you want to connect.`}),`\n`,_jsx(_components.li,{children:`Enter your ProjectWise username and password.`}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Test \u0026 Connect`}),`.`]}),`\n`]}),_jsxs(_components.p,{children:[`Enter the server base URL only. Do not add `,_jsx(_components.code,{children:`/WS/v2.9/Repositories`}),` to the URL.`]})]}),_jsxs(Step,{title:`Choose and sync a file`,children:[_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Select the datasource tab.`}),`\n`,_jsx(_components.li,{children:`Browse its work areas and folders.`}),`\n`,_jsx(_components.li,{children:`Select one or more supported files.`}),`\n`,_jsxs(_components.li,{children:[`Review the file settings, then select `,_jsx(_components.strong,{children:`Create`}),`.`]}),`\n`]}),_jsx(_components.p,{children:`Speckle creates a model for each selected file and starts the first sync.`})]})]}),_jsx(Note,{children:_jsx(_components.p,{children:`Speckle encrypts your ProjectWise credentials before storing them. They enable server-side file downloads and background synchronization.`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`supported-file-formats`,children:`Supported file formats`}),`\n`,_jsxs(_components.p,{children:[`Cloud sync accepts the same file formats as file uploads. See `,_jsx(_components.a,{href:`/connectors/direct-uploads/introduction#supported-file-formats`,children:`Supported file\nformats`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A workspace in compatibility mode accepts fewer formats for cloud sync. See `,_jsx(_components.a,{href:`/it-admin/compatibility-mode`,children:`Compatibility\nmode`}),`.`]})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Navisworks support can vary between files. If an NWD or NWC sync fails, `,_jsx(_components.a,{href:`mailto:[email protected]`,children:`tell\nus`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`faqs-and-troubleshooting`,children:`FAQs and troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Is the connection read-only?`,id:`is-the-connection-read-only`,children:_jsx(_components.p,{children:`Yes. Speckle downloads and converts source files but does not change files or folders in ProjectWise. The converted data is stored as versioned objects in the Speckle project.`})}),_jsx(Accordion,{title:`How quickly are file changes synced?`,id:`how-quickly-are-file-changes-synced`,children:_jsxs(_components.p,{children:[`Speckle checks ProjectWise on a schedule, so a change may take a few minutes to appear. When a change is detected, Speckle creates a new model version from the file version current at that check. Versions superseded between checks, or whose sync fails, are not synced later; see `,_jsx(_components.a,{href:`/it-admin/integrations/introduction#sync-guarantees`,children:`Sync guarantees`}),`.`]})}),_jsxs(Accordion,{title:`How do I manage an on-premises connection?`,id:`how-do-i-manage-an-on-premises-connection`,children:[_jsx(_components.p,{children:`Each connected datasource appears as a tab. Use the settings icon next to its name to change the server, datasource, username, or password.`}),_jsx(_components.p,{children:`Saved connections are personal to your Speckle user in that workspace. Other workspace members connect the datasource with their own ProjectWise credentials.`}),_jsx(_components.p,{children:`Leave the username and password blank when editing a connection to keep the stored credentials. Enter both fields to replace them.`})]}),_jsx(Accordion,{title:`What happens if I disconnect a datasource?`,id:`what-happens-if-i-disconnect-a-datasource`,children:_jsx(_components.p,{children:`Disconnecting a datasource deletes its saved credentials. Existing syncs that use them cannot update; connect again and recreate those syncs if needed.`})}),_jsx(Accordion,{title:`What happens if my stored credentials stop working?`,id:`what-happens-if-my-stored-credentials-stop-working`,children:_jsx(_components.p,{children:`Speckle immediately pauses every sync using that connection and emails the connection owner. This prevents repeated attempts from locking the ProjectWise account.`})}),_jsx(Accordion,{title:`What does the ProjectWise integration support?`,id:`what-does-the-projectwise-integration-support`,children:_jsx(_components.p,{children:`The integration supports model and file synchronization. It does not provide general ProjectWise document management.`})}),_jsxs(Accordion,{title:`Speckle cannot reach my WSG server`,id:`speckle-cannot-reach-my-wsg-server`,children:[_jsx(_components.p,{children:`Confirm that you entered the WSG base URL and that Speckle Cloud can resolve and reach it over HTTPS.`}),_jsxs(_components.p,{children:[`Ask your IT administrator to check DNS, firewall rules, the TLS certificate, and the `,_jsx(_components.code,{children:`/WS/v2.9/Repositories`}),` endpoint.`]})]}),_jsx(Accordion,{title:`No datasources were found`,id:`no-datasources-were-found`,children:_jsxs(_components.p,{children:[`Confirm that the URL points to the WSG server, not a ProjectWise Web page. The server must return its repositories from `,_jsx(_components.code,{children:`/WS/v2.9/Repositories`}),`.`]})}),_jsx(Accordion,{title:`The server does not support Basic Auth login`,id:`the-server-does-not-support-basic-auth-login`,children:_jsxs(_components.p,{children:[`Ask your ProjectWise administrator to enable `,_jsx(_components.strong,{children:`Native Authentication`}),` for WSG. Bentley IMS authentication is used by the Cloud connection and cannot replace Native Authentication for this On-Prem connection.`]})}),_jsx(Accordion,{title:`My password changed and the sync was paused`,id:`my-password-changed-and-the-sync-was-paused`,children:_jsxs(_components.p,{children:[`Open the datasource settings, enter the new username and password, and save the connection. Then open each affected sync and select `,_jsx(_components.strong,{children:`Resume`}),`.`]})}),_jsx(Accordion,{title:`A synced file was moved or deleted`,id:`a-synced-file-was-moved-or-deleted`,children:_jsx(_components.p,{children:`Speckle pauses the sync after the file is missing for three checks. Restore it to its original location or create a new sync from the file’s new location.`})}),_jsx(Accordion,{title:`My cloud projects or files are missing`,id:`my-cloud-projects-or-files-are-missing`,children:_jsx(_components.p,{children:`Confirm that your Bentley account can access the project. Also confirm that the Speckle service account has been added to the relevant Bentley project.`})}),_jsx(Accordion,{title:`Can I use ProjectWise models with Speckle Intelligence?`,id:`can-i-use-projectwise-models-with-speckle-intelligence`,children:_jsx(_components.p,{children:`Yes. After a model is synced, it can be used with Speckle Intelligence, dashboards, automations, and other Speckle workflows.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`getting-help`,children:`Getting help`}),`\n`,_jsxs(_components.p,{children:[`For setup help or Alpha feedback, contact our support team or visit the `,_jsx(_components.a,{href:`https://speckle.community/`,children:`Speckle Community`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Bentley ProjectWise","sidebarTitle":"Bentley ProjectWise","description":"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.","tag":"Enterprise","href":"/connectors/cloud-integrations/projectwise"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Choose a connection","slug":"choose-a-connection","depth":2,"children":[]},{"title":"Connect to ProjectWise","slug":"connect-to-projectwise","depth":2,"children":[]},{"title":"Supported file formats","slug":"supported-file-formats","depth":2,"children":[]},{"title":"FAQs and troubleshooting","slug":"faqs-and-troubleshooting","depth":2,"children":[]},{"title":"Getting help","slug":"getting-help","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/speckle/338e4d421a1293df/.omp/extensions/atlas-sync.js"],"subdomain":"speckle","siteName":"Speckle Docs","title":"Bentley ProjectWise - Speckle Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-19T09:16:37.173Z","gitLastModified":"2026-10-19T08:27:13.000Z","originalFileLocation":"connectors/cloud-integrations/projectwise.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Speckle Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bentley ProjectWise - Speckle Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Speckle Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://speckle.mintlify.app/_mintlify/api/og/v2?division=Cloud+Integrations\u0026amp;title=Bentley+ProjectWise\u0026amp;description=Connect+Bentley+ProjectWise+Cloud+or+an+on-premises+ProjectWise+WSG+server+to+Speckle+for+automatic+model+synchronization.\u0026amp;theme=0f587db618e29aef1bad566c\u0026amp;signature=82c74749192fa1944b057c4da427519503a77d83fbca58fd7739480bc3b4aa54\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Bentley ProjectWise - Speckle Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://speckle.mintlify.app/_mintlify/api/og/v2?division=Cloud+Integrations\u0026amp;title=Bentley+ProjectWise\u0026amp;description=Connect+Bentley+ProjectWise+Cloud+or+an+on-premises+ProjectWise+WSG+server+to+Speckle+for+automatic+model+synchronization.\u0026amp;theme=0f587db618e29aef1bad566c\u0026amp;signature=82c74749192fa1944b057c4da427519503a77d83fbca58fd7739480bc3b4aa54\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/speckle/1IrIIntzKgAhEEgb/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Speckle Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/connectors/cloud-integrations/projectwise.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.speckle.systems/#organization\",\"name\":\"Speckle Docs\",\"url\":\"https://docs.speckle.systems\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/speckle/8FGkkbZZbcuHzOBq/logo/light.svg?fit=max\u0026auto=format\u0026n=8FGkkbZZbcuHzOBq\u0026q=85\u0026s=9fc87cac252fa8cc443a9828ecbace70\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.speckle.systems#website\",\"name\":\"Speckle Docs\",\"url\":\"https://docs.speckle.systems\",\"publisher\":{\"@id\":\"https://docs.speckle.systems/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise#webpage\",\"url\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise\",\"name\":\"Bentley ProjectWise\",\"description\":\"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.\",\"dateModified\":\"2026-10-19T08:27:13.000Z\",\"isPartOf\":{\"@id\":\"https://docs.speckle.systems#website\"},\"breadcrumb\":{\"@id\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Publishing \u0026 Loading\",\"item\":\"https://docs.speckle.systems/connectors/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloud Integrations\",\"item\":\"https://docs.speckle.systems/connectors/cloud-integrations/acc\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Bentley ProjectWise\",\"item\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise#article\",\"headline\":\"Bentley ProjectWise\",\"name\":\"Bentley ProjectWise\",\"description\":\"Connect Bentley ProjectWise Cloud or an on-premises ProjectWise WSG server to Speckle for automatic model synchronization.\",\"url\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise\",\"mainEntityOfPage\":{\"@id\":\"https://docs.speckle.systems/connectors/cloud-integrations/projectwise#webpage\"},\"dateModified\":\"2026-10-19T08:27:13.000Z\",\"publisher\":{\"@id\":\"https://docs.speckle.systems/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.speckle.systems#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Speckle Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Speckle Docs","nav":{"global":null,"dropdowns":[{"dropdown":"User Guides","icon":"book-open","groups":[{"group":"Quick Reference","pages":[{"title":"Welcome to Speckle","sidebarTitle":"Welcome","href":"/quickstart/welcome"},{"title":"Speckle's new data model: what has changed for you","sidebarTitle":"Data model migration","href":"/workspaces/data-model-migration"},{"title":"Quickstart Guide","href":"/quickstart/quickstart"},{"title":"Frequently Asked Questions","href":"/quickstart/faq"},{"title":"What's new in 2026.9 for workspace users","sidebarTitle":"What's new","href":"/whats-new/users"}]},{"group":"Your Speckle Workspace","pages":[{"title":"Organize teams and projects","sidebarTitle":"Overview","href":"/workspaces/introduction"},{"group":"Projects, Models, and Versions","pages":[{"title":"Projects","href":"/workspaces/projects"},{"title":"Models","href":"/workspaces/models"},{"title":"Version Control","href":"/workspaces/versions"}]},{"group":"Access and Identity","pages":[{"title":"Roles and permissions","href":"/workspaces/roles-and-seats"},{"title":"Invite to Workspace","href":"/workspaces/inviting"},{"title":"Workspace Discoverability","href":"/workspaces/workspace-discoverability"},{"title":"Domain Protection","href":"/workspaces/domain-protection"},{"title":"Single Sign-On (SSO)","tag":"Enterprise","href":"/workspaces/sso"},{"title":"User provisioning (SCIM)","sidebarTitle":"Provisioning (SCIM)","tag":"Enterprise","href":"/workspaces/scim"}]},{"group":"Plans and Governance","pages":[{"title":"Plans and Governance","sidebarTitle":"Overview","href":"/workspaces/plans-and-governance"},{"title":"Billing","href":"/workspaces/billing"},{"title":"Data Residency","tag":"Enterprise","href":"/workspaces/data-residency"}]},{"group":"Configuration","pages":[{"title":"Configuration","href":"/workspaces/configuration"},{"title":"Check workspace activity, plan limits, and AI spend","sidebarTitle":"Usage","href":"/workspaces/usage"},{"title":"Project metadata","tag":"Enterprise","href":"/workspaces/configuration/project-metadata"}]}]},{"group":"Viewing \u0026 Sharing","pages":[{"title":"Open and explore models in the 3D viewer","sidebarTitle":"Overview","href":"/3d-viewer/introduction"},{"title":"Interface and navigation","href":"/3d-viewer/interface-nav"},{"group":"Inspect and Compare","pages":[{"title":"Filter, browse, and measure your model","sidebarTitle":"Exploration","href":"/3d-viewer/exploration"},{"title":"Compare versions","href":"/3d-viewer/compare-versions"},{"title":"Combine models in one scene","sidebarTitle":"Model federation","href":"/3d-viewer/federation"}]},{"group":"Feedback and Tracking","pages":[{"title":"Issues","href":"/3d-viewer/issues"},{"title":"Sketch on your model","sidebarTitle":"Sketch","href":"/3d-viewer/markups"},{"title":"Saved views","href":"/3d-viewer/saved-views"}]},{"group":"Present and Share","pages":[{"title":"Present a model with saved views","sidebarTitle":"Presentation","href":"/3d-viewer/presentation"},{"title":"Share your models","href":"/3d-viewer/sharing"}]}]},{"group":"Publishing \u0026 Loading","pages":[{"title":"Connectors, cloud integrations, and file uploads","sidebarTitle":"Overview","href":"/connectors/overview"},{"group":"Connectors","pages":[{"title":"Installing Connectors","href":"/connectors/installation"},{"title":"Connector Assets \u0026 Templates","sidebarTitle":"Assets \u0026 Templates","href":"/connectors/assets"},{"group":"Revit","pages":[{"title":"How to use Speckle for Revit","sidebarTitle":"Quickstart","href":"/connectors/revit/revit"},{"title":"Loading blocks as families in Revit","sidebarTitle":"Blocks as Families","href":"/connectors/revit/blocks-to-families"}]},{"group":"Rhino","pages":[{"title":"How to use Speckle for Rhino","sidebarTitle":"Quickstart","href":"/connectors/rhino/rhino"},{"title":"Revit Categorization","href":"/connectors/rhino/rhino-revit"},{"title":"RhinoInside","sidebarTitle":"RhinoInside","href":"/connectors/grasshopper/grasshopper-integrations"}]},{"group":"Grasshopper","pages":[{"title":"How to use Speckle for Grasshopper","sidebarTitle":"Quickstart","href":"/connectors/grasshopper/grasshopper"},{"title":"Explore what an object is connected to","sidebarTitle":"Explore","href":"/connectors/grasshopper/explore"},{"title":"Models","href":"/connectors/grasshopper/grasshopper-models"},{"title":"Collections","href":"/connectors/grasshopper/grasshopper-collections"},{"title":"Objects","href":"/connectors/grasshopper/grasshopper-objects"},{"title":"Properties","href":"/connectors/grasshopper/grasshopper-properties"},{"title":"Developer Nodes","href":"/connectors/grasshopper/grasshopper-developer"},{"title":"Recommendations","href":"/connectors/grasshopper/grasshopper-recommendations"},{"title":"Karamba3D","sidebarTitle":"Karamba3D","tag":"Third-Party","href":"/connectors/third-party/karamba3d"},{"title":"ShapeDiver","sidebarTitle":"ShapeDiver","tag":"Third-Party","href":"/connectors/third-party/shapediver"}]},{"title":"How to use Speckle for SketchUp","sidebarTitle":"SketchUp","href":"/connectors/sketchup"},{"group":"Power BI","pages":[{"title":"How to use Speckle for Power BI","sidebarTitle":"Quickstart","href":"/connectors/power-bi/power-bi"},{"title":"Power BI Data Gateway","sidebarTitle":"Data Gateway","href":"/connectors/power-bi/gateway"}]},{"title":"How to use Speckle for Archicad","sidebarTitle":"Archicad","href":"/connectors/archicad"},{"title":"Publish Navisworks models to Speckle","sidebarTitle":"Navisworks","href":"/connectors/navisworks"},{"title":"How to use Speckle for Blender","sidebarTitle":"Blender","href":"/connectors/blender"},{"title":"How to use Speckle for Civil 3D","sidebarTitle":"Civil 3D","href":"/connectors/civil3d"},{"title":"How to use Speckle for Plant 3D","sidebarTitle":"Plant 3D","href":"/connectors/plant3d"},{"title":"How to use Speckle for AutoCAD","sidebarTitle":"AutoCAD","href":"/connectors/autocad"},{"title":"How to use Speckle for ETABS","sidebarTitle":"ETABS","href":"/connectors/etabs"},{"title":"How to use Speckle for Tekla Structures","sidebarTitle":"Tekla Structures","href":"/connectors/teklastructures"},{"title":"How to use Speckle for Vectorworks","sidebarTitle":"Vectorworks","tag":"Third-Party","href":"/connectors/third-party/vectorworks"}]},{"group":"Cloud Integrations","pages":[{"title":"Autodesk Forma Data Management","sidebarTitle":"Forma Data Management (ACC)","tag":"Enterprise","href":"/connectors/cloud-integrations/acc"},{"title":"Sync models from Trimble Connect","sidebarTitle":"Trimble Connect","tag":"Enterprise","href":"/connectors/cloud-integrations/trimble-connect"},{"title":"Sync models from SharePoint","sidebarTitle":"SharePoint","description":"Keep Speckle models up to date with files in SharePoint document libraries, without uploading them again.","href":"/connectors/cloud-integrations/sharepoint"},{"title":"Bentley ProjectWise","sidebarTitle":"Bentley ProjectWise","tag":"Enterprise","href":"/connectors/cloud-integrations/projectwise"},{"title":"Databricks","sidebarTitle":"Databricks","description":"Register read-only Databricks tables as data sources in Speckle for the AI chat and data tools.","href":"/connectors/cloud-integrations/databricks"},{"title":"Snowflake","sidebarTitle":"Snowflake","href":"/connectors/cloud-integrations/snowflake"}]},{"title":"Direct uploads","href":"/connectors/direct-uploads/introduction"}]},{"group":"Analytics \u0026 Intelligence","pages":[{"group":"Intelligence","pages":[{"title":"Ask questions about your models with Speckle Intelligence","sidebarTitle":"Speckle Intelligence","href":"/analytics/intelligence"},{"title":"Reuse organisation playbooks with Intelligence skills","sidebarTitle":"Skills","href":"/analytics/intelligence-skills"},{"title":"Set standing AI Rules for the workspace","sidebarTitle":"AI Rules","href":"/analytics/intelligence-rules"},{"title":"Create and share Intelligence Reports","sidebarTitle":"Reports","href":"/analytics/reports"}]},{"group":"Dashboards","pages":[{"title":"Intelligence Dashboards","sidebarTitle":"Overview","href":"/analytics/intelligence-dashboards"},{"title":"Retired and replaced dashboard widgets","sidebarTitle":"Widget availability","href":"/analytics/dashboards-widget-availability"},{"title":"Layout","sidebarTitle":"Layout","href":"/analytics/dashboards/layout"},{"title":"Sharing","sidebarTitle":"Sharing","href":"/analytics/dashboards/sharing"},{"title":"Filters","sidebarTitle":"Filters","href":"/analytics/dashboards/filters"},{"title":"Lookup tables","sidebarTitle":"Lookup tables","href":"/analytics/dashboards/lookup-tables"},{"title":"Calculated fields","sidebarTitle":"Calculated fields","href":"/analytics/dashboards/calculated-fields"},{"title":"Common workflows","sidebarTitle":"Common workflows","href":"/analytics/dashboards/common-workflows"}]},{"group":"Data Validation","pages":[{"title":"Data Validation","sidebarTitle":"Overview","href":"/analytics/data-validation/overview"},{"title":"Checks","sidebarTitle":"Checks","href":"/analytics/data-validation/checks"},{"title":"Project standards","sidebarTitle":"Standards","href":"/analytics/data-validation/standards"},{"title":"Viewing Results","sidebarTitle":"Viewing Results","href":"/analytics/data-validation/viewing-results"},{"title":"Validation Widgets in Dashboards","sidebarTitle":"Validation Widgets","href":"/analytics/dashboards/validation-widgets"}]},{"group":"Data Conditioning","pages":[{"title":"Update parameters from the model viewer","sidebarTitle":"Parameter Updater","href":"/beta/parameter-updater"}]}]},{"group":"Workflows","pages":[{"title":"Combine capabilities into outcomes","sidebarTitle":"Overview","href":"/workflows/overview"},{"title":"Assess model changes with Speckle Intelligence","sidebarTitle":"Compare versions with Intelligence","href":"/workflows/assess-model-changes"},{"title":"Take off quantities and cost with Speckle Intelligence","sidebarTitle":"Quantity \u0026 cost takeoff","href":"/workflows/take-off-quantities"},{"title":"Benchmark a project against your portfolio with Speckle Intelligence","sidebarTitle":"Portfolio benchmarking","href":"/workflows/benchmark-against-your-portfolio"},{"title":"Validate incoming models automatically","sidebarTitle":"Automatic model validation","href":"/workflows/validate-incoming-models-automatically"},{"title":"Design review workflow","sidebarTitle":"Design Review","href":"/workflows/design-review-workflow"},{"title":"Componentised Grasshopper workflow","sidebarTitle":"Grasshopper","href":"/workflows/grasshopper-componentised-workflow"},{"title":"Compare parametric design options from Grasshopper","sidebarTitle":"Design Explorer","href":"/workflows/grasshopper-design-explorer"},{"title":"Extract Revit room data with SpecklePy","sidebarTitle":"Revit room data extraction","href":"/workflows/revit-room-data-extraction-specklepy"},{"title":"Analyse model data with SpecklePy and DuckDB","sidebarTitle":"SpecklePy analytics","href":"/workflows/specklepy-model-data-analytics"}]}],"global":{"anchors":[]}},{"dropdown":"Developers","icon":"code","tabs":[{"tab":"Build with Speckle","groups":[{"group":"Overview","pages":[{"title":"Developer documentation","sidebarTitle":"Introduction","href":"/developers/introduction"},{"title":"What's new in 2026.9 for developers","sidebarTitle":"What's new","href":"/whats-new/developers"}]},{"group":"Getting Started","pages":[{"title":"Your learning path","sidebarTitle":"Your Learning Path","href":"/developers/getting-started"},{"group":"Authentication","pages":[{"title":"Authenticating with Speckle","sidebarTitle":"Introduction","href":"/developers/authentication/introduction"},{"title":"Building with PATs","sidebarTitle":"PATs","href":"/developers/authentication/pats"},{"title":"Building with OAuth2","sidebarTitle":"OAuth2 and PKCE","href":"/developers/authentication/oauth2"},{"title":"Single Sign-On (SSO) Authentication","sidebarTitle":"SSO Authentication","href":"/developers/authentication/sso"}]},{"title":"Key Concepts","sidebarTitle":"Key Concepts","href":"/developers/key-concepts"}]},{"group":"Building Custom Apps","pages":[{"title":"Building Custom Applications","sidebarTitle":"Building Custom Apps","href":"/developers/building-apps"}]},{"group":"Building Integrations","pages":[{"title":"Add Speckle connectivity to your authoring applications","sidebarTitle":"Overview","href":"/developers/building-integrations"},{"title":"Build integrations on the bundle format","sidebarTitle":"Bundles","href":"/developers/building-integrations/bundles"},{"title":"Publish a bundle from your own code","sidebarTitle":"Publish","href":"/developers/building-integrations/publish"},{"title":"Load a bundle in your own code","sidebarTitle":"Load","href":"/developers/building-integrations/load"},{"title":"Publish, load, and integration depth","sidebarTitle":"Publish \u0026 Load","href":"/developers/connectivity/integration-depth"},{"title":"Desktop host connectivity","sidebarTitle":"Desktop Host","href":"/developers/connectivity/desktop-host"},{"title":"Cloud and automation connectivity","sidebarTitle":"Cloud \u0026 Automation","href":"/developers/connectivity/cloud-automation"},{"title":"Middleware and orchestration","sidebarTitle":"Middleware","href":"/developers/connectivity/middleware"},{"title":"Hybrid connectivity","sidebarTitle":"Hybrid","href":"/developers/connectivity/hybrid"},{"title":"Data model and build order","sidebarTitle":"Data \u0026 Build Order","href":"/developers/connectivity/data-and-build"},{"title":"Connectivity resources","sidebarTitle":"Resources","href":"/developers/connectivity/resources"}]},{"group":"Migration notices","hidden":true,"pages":[{"title":"Speckle's new data model: what has changed for developers","sidebarTitle":"Data model migration","href":"/developers/migration/data-model-migration"},{"title":"Publish through model ingestions, not legacy send","sidebarTitle":"Publish via ingestions","href":"/developers/migration/publish-through-ingestions"}]}]},{"tab":"Data Schema","groups":[{"group":"Object model","pages":[{"title":"Object model","sidebarTitle":"Overview","href":"/developers/object-model/overview"},{"title":"Relations","sidebarTitle":"Relations","href":"/developers/object-model/relations"},{"title":"Where version metadata lives","sidebarTitle":"Version metadata","href":"/developers/object-model/version-metadata"},{"title":"Geometry encoding","sidebarTitle":"Geometry encoding","href":"/developers/object-model/geometry-encoding"}]},{"group":"Object graph (before 2026.9)","pages":[{"title":"Data schema","href":"/developers/data-schema/overview"},{"title":"Core Concepts","href":"/developers/data-schema/concepts"},{"title":"Versions and the root object","href":"/developers/data-schema/version-root-object"},{"title":"Object Schema","href":"/developers/data-schema/object-schema"},{"title":"Traversal Recipes","href":"/developers/data-schema/traversal-recipes"},{"title":"Geometry Schema","href":"/developers/data-schema/geometry-schema"},{"title":"Proxy Schemas","href":"/developers/data-schema/proxy-schema"}]},{"group":"Connectors","pages":[{"title":"Object Types by Connector","sidebarTitle":"Object Types","href":"/developers/data-schema/connector-index"},{"group":"Schemas by Data Source","pages":[{"title":"ArchiCAD Schema","href":"/developers/data-schema/connectors/archicad-schema"},{"title":"IFC Schema","href":"/developers/data-schema/connectors/ifc-schema"},{"title":"Navisworks Schema","href":"/developers/data-schema/connectors/navisworks-schema"},{"title":"Revit Schema","href":"/developers/data-schema/connectors/revit-schema"},{"title":"Tekla Schema","href":"/developers/data-schema/connectors/tekla-schema"},{"title":"AutoCAD Schema","href":"/developers/data-schema/connectors/autocad-schema"},{"title":"Civil 3D Schema","href":"/developers/data-schema/connectors/civil3d-schema"},{"title":"ETABS Schema","href":"/developers/data-schema/connectors/etabs-schema"},{"title":"Rhino Schema","href":"/developers/data-schema/connectors/rhino-schema"}]}]}]},{"tab":"Interfaces","groups":[{"group":"GraphQL","pages":[{"title":"API reference","href":"/developers/api/graphql"},{"title":"Subscriptions","href":"/developers/api/subscriptions"},{"title":"GraphQL Endpoint","deprecated":null,"version":null,"openapi":"/developers/api/graphql-openapi.json post /graphql","href":"/api-reference/graphql/graphql-endpoint"}]},{"group":"REST","pages":[{"title":"API reference","href":"/developers/api/rest"},{"title":"Preview Service","href":"/developers/api/previews/preview-service"},{"title":"Download a Single Object","deprecated":null,"version":null,"openapi":"/developers/api/rest-openapi.json get /objects/{projectId}/{objectId}/single","href":"/api-reference/objects/download-a-single-object"},{"title":"Download an Object and All its Children","deprecated":null,"version":null,"openapi":"/developers/api/rest-openapi.json get /objects/{projectId}/{objectId}","href":"/api-reference/objects/download-an-object-and-all-its-children"}]},{"group":"Webhooks","pages":[{"title":"Broadcast and Subscribe to Speckle Events with Webhooks","sidebarTitle":"Webhooks Overview","href":"/developers/api/webhooks"},{"title":"Events and Payloads","href":"/developers/api/webhooks/events"},{"title":"Creating and Managing Webhooks","href":"/developers/api/webhooks/management"},{"title":"Webhook Security","href":"/developers/api/webhooks/security"}]},{"group":"Guides","pages":[{"title":"Upload IFC and other files to Speckle","sidebarTitle":"Upload files","href":"/developers/api/guides/file-uploads"},{"title":"Read and Write Project Metadata via GraphQL","sidebarTitle":"Project metadata","tag":"Enterprise","href":"/developers/api/guides/project-metadata"},{"title":"Updating Cloud Integration Syncs via GraphQL","sidebarTitle":"Updating Syncs","href":"/developers/api/guides/updating-syncs"},{"title":"Get Data Validation Results with GraphQL","sidebarTitle":"Validation Results","href":"/developers/api/guides/data-validation-results"},{"title":"Send Slack Notifications from Speckle Webhooks","sidebarTitle":"Slack Notifications","href":"/developers/api/guides/slack-notifications"}]}]},{"tab":"SDKs","groups":[{"group":"Speckle SDKs","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/developers/sdks/introduction"}]},{"group":"Python","icon":"python","pages":[{"title":"specklepy","href":"/developers/sdks/python/introduction"},{"title":"Migrate a specklepy script to 2026.9","sidebarTitle":"Migrate to 2026.9","href":"/developers/sdks/python/migrate-to-2026-9"},{"group":"Getting Started","pages":[{"title":"Installation","href":"/developers/sdks/python/getting-started/installation"},{"title":"Authentication","href":"/developers/sdks/python/getting-started/authentication"},{"title":"Quickstart","href":"/developers/sdks/python/getting-started/quickstart"}]},{"group":"Core Concepts","pages":[{"title":"Python SDK concepts","href":"/developers/sdks/python/concepts/overview"},{"title":"Data Types in Speckle","href":"/developers/sdks/python/concepts/data-types"},{"title":"Objects \u0026 Base Class","href":"/developers/sdks/python/concepts/objects"},{"title":"Data Traversal","href":"/developers/sdks/python/concepts/data-traversal"},{"title":"Display Values","href":"/developers/sdks/python/concepts/display-values"},{"title":"Proxification","href":"/developers/sdks/python/concepts/proxification"}]},{"group":"API Reference","pages":[{"title":"SpeckleClient","href":"/developers/sdks/python/api-reference/client"},{"title":"Operations","href":"/developers/sdks/python/api-reference/operations"},{"group":"Resources","pages":[{"title":"ProjectResource","href":"/developers/sdks/python/api-reference/resources/project"},{"title":"ModelResource","href":"/developers/sdks/python/api-reference/resources/model"},{"title":"VersionResource","href":"/developers/sdks/python/api-reference/resources/version"},{"title":"ActiveUserResource","href":"/developers/sdks/python/api-reference/resources/active-user"},{"title":"OtherUserResource","href":"/developers/sdks/python/api-reference/resources/other-user"},{"title":"WorkspaceResource","href":"/developers/sdks/python/api-reference/resources/workspace"},{"title":"ServerResource","href":"/developers/sdks/python/api-reference/resources/server"}]},{"title":"Transports","href":"/developers/sdks/python/api-reference/transports"},{"title":"Exceptions","href":"/developers/sdks/python/api-reference/exceptions"}]},{"group":"Guides","pages":[{"title":"Working with Speckle Objects","href":"/developers/sdks/python/guides/how-to-work-with-objects"},{"title":"Finding and Extracting Data","href":"/developers/sdks/python/guides/how-to-find-and-extract-data"},{"title":"Performance and Complex Patterns","href":"/developers/sdks/python/guides/how-to-optimize-and-handle-complexity"},{"title":"Simple Data Patterns","href":"/developers/sdks/python/guides/simple-data-patterns"},{"title":"BIM Data Patterns","href":"/developers/sdks/python/guides/bim-data-patterns"},{"title":"Extracting Display Values and Transform Instances","href":"/developers/sdks/python/guides/working-with-proxies"},{"title":"Understanding Speckle Mesh","href":"/developers/sdks/python/guides/understanding-speckle-mesh"},{"title":"Working with Geometry","href":"/developers/sdks/python/guides/working-with-geometry"}]}]},{"group":"C# .NET","icon":"microsoft","pages":[{"title":"speckle-sharp","sidebarTitle":"speckle-sharp","href":"/developers/sdks/dotnet/introduction"},{"title":"Migrate a Speckle.Sdk script to 2026.9","sidebarTitle":"Migrate to 2026.9","href":"/developers/sdks/dotnet/migrate-to-2026-9"},{"group":"Getting Started","pages":[{"title":"Installation","sidebarTitle":"Installation","href":"/developers/sdks/dotnet/getting-started/installation"},{"title":"Build your first model analysis tool","sidebarTitle":"First analysis tool","href":"/developers/sdks/dotnet/guides/build-your-first-model-analysis-tool"},{"title":"Automate with scripts and notebooks","sidebarTitle":"Scripts","href":"/developers/sdks/dotnet/getting-started/scripts-and-notebooks"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/developers/sdks/dotnet/getting-started/authentication"},{"title":"Publish and load a model from C#","sidebarTitle":"Quickstart","href":"/developers/sdks/dotnet/getting-started/quickstart"}]},{"group":"Guides","pages":[{"title":"Use SpeckleSharp in a Grasshopper C# node","sidebarTitle":"Grasshopper C#","href":"/developers/sdks/dotnet/guides/use-speckle-sdk-in-grasshopper-csharp"},{"title":"Find objects by property","sidebarTitle":"Find \u0026 extract","href":"/developers/sdks/dotnet/guides/finding-and-extracting-data"},{"title":"Export model data to CSV","sidebarTitle":"Export to CSV","href":"/developers/sdks/dotnet/guides/export-model-data-to-csv"},{"title":"Send analysis results back to Speckle","sidebarTitle":"Send results back","href":"/developers/sdks/dotnet/guides/send-analysis-results-back"},{"title":"BIM data patterns","sidebarTitle":"BIM patterns","href":"/developers/sdks/dotnet/guides/bim-data-patterns"},{"title":"Compare two model versions","sidebarTitle":"Compare versions","href":"/developers/sdks/dotnet/guides/compare-two-model-versions"},{"title":"Resolve groups and instances","sidebarTitle":"Proxies","href":"/developers/sdks/dotnet/guides/working-with-proxies"},{"title":"Read and create geometry","sidebarTitle":"Geometry","href":"/developers/sdks/dotnet/guides/working-with-geometry"},{"title":"Handling server capabilities","href":"/developers/sdks/dotnet/guides/handling-server-capabilities"},{"title":"Publish large models (connectors)","sidebarTitle":"Connector sends","href":"/developers/sdks/dotnet/guides/building-connector-scale-sends"}]},{"group":"Concepts","pages":[{"title":"How your code talks to Speckle Server","sidebarTitle":"Core concepts","href":"/developers/sdks/dotnet/concepts/overview"},{"title":"Work with model objects","sidebarTitle":"Objects","href":"/developers/sdks/dotnet/concepts/objects-and-traversal"},{"title":"Load and publish model data","sidebarTitle":"Send \u0026 receive","href":"/developers/sdks/dotnet/concepts/send-and-receive-paths"},{"title":"Dependency injection (connectors)","sidebarTitle":"DI (advanced)","href":"/developers/sdks/dotnet/concepts/dependency-injection"}]},{"group":"API Reference","pages":[{"title":"Client","sidebarTitle":"Client","href":"/developers/sdks/dotnet/api-reference/client"},{"title":"Service registration","sidebarTitle":"Registration","href":"/developers/sdks/dotnet/api-reference/service-registration"},{"title":"Operations","sidebarTitle":"Operations","href":"/developers/sdks/dotnet/api-reference/operations"},{"group":"Resources","pages":[{"title":"Project","sidebarTitle":"Project","href":"/developers/sdks/dotnet/api-reference/resources/project"},{"title":"Model","sidebarTitle":"Model","href":"/developers/sdks/dotnet/api-reference/resources/model"},{"title":"Version","sidebarTitle":"Version","href":"/developers/sdks/dotnet/api-reference/resources/version"},{"title":"Users","sidebarTitle":"Users","href":"/developers/sdks/dotnet/api-reference/resources/users"},{"title":"Workspace","sidebarTitle":"Workspace","href":"/developers/sdks/dotnet/api-reference/resources/workspace"},{"title":"Server","sidebarTitle":"Server","href":"/developers/sdks/dotnet/api-reference/resources/server"},{"title":"Model ingestion","sidebarTitle":"Ingestion","href":"/developers/sdks/dotnet/api-reference/resources/ingestion"}]},{"title":"Transports","sidebarTitle":"Transports","href":"/developers/sdks/dotnet/api-reference/transports"},{"title":"Exceptions","sidebarTitle":"Exceptions","href":"/developers/sdks/dotnet/api-reference/exceptions"}]}]},{"group":"JS/TS","icon":"javascript","pages":[{"title":"speckle.js","href":"/developers/sdks/typescript/introduction"}]}]},{"tab":"Viewer","groups":[{"group":"Speckle Viewer","pages":[{"title":"Developers Guide","sidebarTitle":"Getting Started","href":"/developers/viewer/introduction"},{"title":"Load a bundle in your Viewer app","sidebarTitle":"Loading bundles","href":"/developers/viewer/loading-bundles"},{"title":"Installation","href":"/developers/viewer/installation"},{"title":"Basic Setup","href":"/developers/viewer/basic-setup"},{"title":"Advanced Setup","href":"/developers/viewer/advanced-setup"}]},{"group":"Core Concepts","pages":[{"title":"3D Viewer","href":"/developers/viewer/overview"},{"title":"Data Tree","href":"/developers/viewer/viewer-data"},{"title":"Rendering","href":"/developers/viewer/viewer-rendering"},{"title":"Loaders","href":"/developers/viewer/loaders"}]},{"group":"API Reference","pages":[{"group":"Viewer Core","pages":[{"title":"AccelerationStructure","href":"/developers/viewer/acceleration-structure-api"},{"title":"Batch","href":"/developers/viewer/batch-api"},{"title":"BatchObject","href":"/developers/viewer/batch-object-api"},{"title":"GeometryConverter","href":"/developers/viewer/geometry-converter-api"},{"title":"Input","href":"/developers/viewer/input-api"},{"title":"Intersections","href":"/developers/viewer/intersections-api"},{"title":"Loader","href":"/developers/viewer/loader-api"},{"title":"Queries","href":"/developers/viewer/queries-api"},{"title":"NodeRenderView","href":"/developers/viewer/render-view-api"},{"title":"RenderTree","href":"/developers/viewer/render-tree-api"},{"group":"Rendering Pipelines","pages":[{"title":"Pipeline","href":"/developers/viewer/rendering-pipeline-api/pipeline-api"},{"title":"ProgressivePipeline","href":"/developers/viewer/rendering-pipeline-api/progressive-pipeline-api"},{"title":"GPass","href":"/developers/viewer/rendering-pipeline-api/g-pass-api"},{"title":"BaseGPass","href":"/developers/viewer/rendering-pipeline-api/base-g-pass-api"},{"title":"ProgressiveGPass","href":"/developers/viewer/rendering-pipeline-api/progressive-g-pass-api"}]},{"title":"SpeckleMaterial","href":"/developers/viewer/speckle-material-api"},{"title":"SpeckleRenderer","href":"/developers/viewer/speckle-renderer-api"},{"title":"TopLevelAccelerationStructure","href":"/developers/viewer/top-level-acceleration-structure-api"},{"title":"Viewer","href":"/developers/viewer/viewer-api"},{"title":"WorldTree","href":"/developers/viewer/world-tree-api"}]},{"group":"Extensions","pages":[{"title":"Extension","href":"/developers/viewer/extensions/extension-api"},{"title":"CameraController","href":"/developers/viewer/extensions/camera-controller-api"},{"title":"DifExtension","href":"/developers/viewer/extensions/diff-extension-api"},{"title":"FilteringExtension","href":"/developers/viewer/extensions/filtering-extension-api"},{"title":"MeasurementsTool","href":"/developers/viewer/extensions/measurements-tool-api"},{"title":"SelectionExtension","href":"/developers/viewer/extensions/selection-extension-api"},{"title":"SectionTool","href":"/developers/viewer/extensions/section-tool-api"},{"title":"SectionToolOutlines","href":"/developers/viewer/extensions/section-tool-outlines-api"},{"title":"SpeckleControls","href":"/developers/viewer/extensions/speckle-controls-api"},{"title":"SmoothOrbitControls","href":"/developers/viewer/extensions/smooth-orbit-controls-api"},{"title":"ViewModes","href":"/developers/viewer/extensions/view-modes-api"}]}]},{"group":"Examples","pages":[{"title":"Basic Example","href":"/developers/viewer/examples/basic-example"},{"title":"More Extensions","href":"/developers/viewer/examples/more-extensions-example"},{"title":"Filtering","href":"/developers/viewer/examples/filtering-example"},{"title":"Loading Data","href":"/developers/viewer/examples/loading-example"},{"title":"Object Manipulation","href":"/developers/viewer/examples/object-manipulation-example"},{"title":"Box Selection","href":"/developers/viewer/examples/box-selection-example"},{"title":"Animation \u0026 Custom Text","href":"/developers/viewer/examples/categorize-example"}]},{"group":"Reference","pages":[{"title":"Migration Guide","href":"/developers/viewer/migration-guide"},{"title":"Backwards Compatibility","href":"/developers/viewer/migration-guide-compatibility"},{"title":"API 1.0 Full Migration","href":"/developers/viewer/migration-guide-v1"}]}]},{"tab":"Server","groups":[{"group":"Speckle Server","pages":[{"title":"Hosting Your Own Speckle Server","sidebarTitle":"Overview","href":"/developers/server/introduction"},{"title":"Choosing a Speckle Deployment","sidebarTitle":"Choosing a Deployment","href":"/developers/server/self-hosted-vs-cloud-hosted-speckle"},{"title":"Docker Compose Quickstart","sidebarTitle":"Getting Started","href":"/developers/server/getting-started"},{"title":"Server Architecture","href":"/developers/server/architecture"},{"title":"Self-Hosted Deployment Options","href":"/developers/server/deployment-options"}]},{"group":"Deployment","pages":[{"title":"Deploy to Kubernetes","href":"/developers/server/deployment/kubernetes-with-helm"},{"title":"Server Maintenance","href":"/developers/server/deployment/backup-upgrade-restore"},{"title":"Deploying a Speckle Enterprise licensed server","sidebarTitle":"Enterprise Servers","tag":"Enterprise","href":"/developers/server/deployment/enterprise-license"},{"title":"Deploying a Speckle Enterprise licensed Automate server","sidebarTitle":"Enterprise Automate","tag":"Enterprise","href":"/developers/server/deployment/enterprise-license-automate"},{"title":"Deploying a Speckle Enterprise licensed Intelligence server","sidebarTitle":"Enterprise Intelligence","tag":"Enterprise","href":"/developers/server/deployment/enterprise-license-intelligence"},{"title":"Deploying a Speckle Enterprise licensed Desktop UI server","sidebarTitle":"Enterprise licensed Desktop UI","tag":"Enterprise","href":"/developers/server/deployment/enterprise-license-desktop-ui"}]},{"group":"Local Development","pages":[{"title":"Environment Setup","href":"/developers/server/development/setup"}]}]},{"tab":"Automate","groups":[{"group":"Speckle Automate","pages":[{"title":"Powering Your Automation Workflows","sidebarTitle":"Overview","tag":"Enterprise","href":"/developers/automate/introduction"},{"title":"Quickstart Guide","href":"/developers/automate/quickstart"},{"title":"API Reference","href":"/developers/automate/api-reference"},{"title":"Frequently Asked Questions","href":"/developers/automate/faq"}]},{"group":"Automate Functions","pages":[{"title":"Create an Automate function","sidebarTitle":"Creating Functions","href":"/developers/automate/create-function"},{"title":"Making Your Function","href":"/developers/automate/making-your-function"},{"title":"Function Inputs","href":"/developers/automate/function-inputs"},{"title":"Releasing a New Version","href":"/developers/automate/release-function-version"},{"title":"Publishing Automate Functions without the GitHub App","sidebarTitle":"Publish without GitHub","href":"/developers/automate/publishing-without-github"}]},{"group":"Working with Data","pages":[{"title":"Handling Data in Functions","href":"/developers/automate/function-data"},{"title":"AutomationContext","href":"/developers/automate/function-context"},{"title":"Annotating Function Results","href":"/developers/automate/function-results"},{"title":"Reporting Success","href":"/developers/automate/function-success"},{"title":"Function Artefacts","href":"/developers/automate/function-artefacts"}]},{"group":"Creating Automations","pages":[{"title":"Creating Automations","href":"/developers/automate/create-automation"},{"title":"Viewing Automation Results","href":"/developers/automate/viewing-results"},{"title":"Update an Automation","href":"/developers/automate/update-automation"}]},{"group":"Testing \u0026 Development","pages":[{"title":"Testing Your Functions","href":"/developers/automate/function-testing"},{"title":"Troubleshooting Automations","href":"/developers/automate/troubleshooting"}]},{"group":"Reference","pages":[{"title":"Considerations \u0026 Limitations","href":"/developers/automate/important-considerations"},{"title":"Function Specification","href":"/developers/automate/function-specification"}]}]}],"global":{"anchors":[]}},{"dropdown":"IT Administrators","icon":"wrench","groups":[{"group":"Deployment \u0026 Maintenance","pages":[{"title":"IT setup guide","href":"/it-admin/setup"},{"title":"Keep connectors current across your estate","sidebarTitle":"Connector updates","href":"/it-admin/connector-updates"},{"title":"Compatibility mode for ACC sync and uploads","sidebarTitle":"Compatibility mode","href":"/it-admin/compatibility-mode"},{"title":"Security","href":"/it-admin/security"},{"group":"Cloud Integrations","pages":[{"title":"Cloud Integrations: Access and Governance","sidebarTitle":"Introduction","href":"/it-admin/integrations/introduction"},{"title":"Enable Autodesk Forma Data Management integration","sidebarTitle":"Forma Data Management (ACC)","tag":"Enterprise","href":"/it-admin/integrations/acc"},{"title":"Configure Bentley ProjectWise Integration","sidebarTitle":"Bentley ProjectWise","tag":"Enterprise","href":"/it-admin/integrations/projectwise"},{"title":"Approve Speckle for SharePoint","sidebarTitle":"SharePoint","href":"/it-admin/integrations/sharepoint"},{"title":"Enable Databricks Integration","sidebarTitle":"Databricks","href":"/it-admin/integrations/databricks"},{"title":"Enable Snowflake Integration","sidebarTitle":"Snowflake","href":"/it-admin/integrations/snowflake"}]},{"title":"Admin Support Mode","href":"/it-admin/support-mode"},{"title":"Archive and unarchive projects","sidebarTitle":"Project Archival","tag":"Enterprise","href":"/it-admin/archived-projects"},{"title":"What's new in 2026.9 for IT admins","sidebarTitle":"What's new","href":"/whats-new/it-admins"}]},{"group":"Manual Connector Installation","pages":[{"title":"Manual installation","sidebarTitle":"Overview","href":"/connectors/manual-installation/introduction"},{"title":"Desktop Services","sidebarTitle":"Desktop Services (deprecated)","href":"/connectors/manual-installation/desktop-services"},{"title":"Archicad","href":"/connectors/manual-installation/archicad"},{"title":"AutoCAD","href":"/connectors/manual-installation/autocad"},{"title":"Blender","href":"/connectors/manual-installation/blender"},{"title":"Civil 3D","href":"/connectors/manual-installation/civil3d"},{"title":"ETABS","href":"/connectors/manual-installation/etabs"},{"title":"Navisworks","href":"/connectors/manual-installation/navisworks"},{"title":"Power BI","href":"/connectors/manual-installation/powerbi"},{"title":"Revit","href":"/connectors/manual-installation/revit"},{"title":"Rhino \u0026 Grasshopper","href":"/connectors/manual-installation/rhino-grasshopper"},{"title":"SketchUp","href":"/connectors/manual-installation/sketchup"},{"title":"Tekla Structures","href":"/connectors/manual-installation/teklastructures"}]}],"global":{"anchors":[]}},{"dropdown":"Get Involved","icon":"users","groups":[{"group":"Ways to get involved","pages":[{"title":"User testing and feedback","sidebarTitle":"User Testing","href":"/get-involved/user-testing"},{"title":"Join the Speckle Community","sidebarTitle":"Community","href":"/get-involved/community"},{"title":"Open source at Speckle","sidebarTitle":"Open source","href":"/get-involved/open-source"}]}],"global":{"anchors":[]}},{"dropdown":"Changelog","icon":"history","pages":[{"title":"Changelog — October 2026","sidebarTitle":"October 2026","href":"/technical-changelog/2026-10"},{"title":"Changelog — September 2026","sidebarTitle":"September 2026","href":"/technical-changelog/2026-09"}],"global":{"anchors":[]}}]},"basePath":"","title":"Bentley ProjectWise - Speckle Docs","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":[],"chunks":[]}