Skip to content

Commit 1af4667

Browse files
committed
feat(search): unify source setup and organization usage
1 parent f2077f9 commit 1af4667

108 files changed

Lines changed: 29771 additions & 1130 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/docs/content/docs/search/confluence.mdx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ Teammates authorize Sim's shared Confluence app, which also requests workflow pe
3131

3232
### Choose Confluence
3333

34-
Open your organization's **Settings → Sources**, turn on **Confluence**, then select **Set up** (or **Manage**) → **Add source**. This opens service-account setup.
34+
Open **Settings → Sources → Add source** and select **Confluence**. This opens **Connect Confluence site** with service-account authentication. To connect another site later, open **Confluence** from the Sources list and select **Add Confluence site**.
3535

3636
</Step>
3737
<Step>
3838

3939
### Choose the account and spaces
4040

41-
Under **Indexing account**, select a service account or [add one](#using-a-service-account). Enter the same **Confluence Domain** as the credential, then choose **Spaces**. **Select all** selects every space the account can currently browse; newly created spaces are not added automatically. Clear the picker search before selecting all.
41+
Under **Service account**, select a service account or [add one](#using-a-service-account). Enter the same **Confluence site** as the credential, then choose **Spaces**. **All** in the dropdown selects every space the account can currently browse; newly created spaces are not added automatically. Clear the picker search before selecting all.
4242

4343
To enter comma-separated keys such as `ENG, PRODUCT`, use the switch beside **Spaces**. Switching between the picker and manual entry keeps your selection.
4444

@@ -65,17 +65,17 @@ After an admin allows Confluence, open **Integrations → Connect**. For an exis
6565
If no source exists, or you choose **Connect a different site or content scope**:
6666

6767
1. Under **Your account**, select a saved account or choose **Connect account**. Authorize using the Atlassian email matching your verified Sim email.
68-
2. Enter the hostname under **Atlassian site**, then choose **Spaces**. Use **Select all** for the complete current list, or **Enter keys manually** for comma-separated keys. You can select up to 1,000 spaces in this form.
68+
2. Enter the hostname under **Atlassian site**, then choose **Spaces**. Use **All** in the dropdown for the complete current list, or **Enter keys manually** for comma-separated keys. You can select up to 1,000 spaces in this form.
6969
3. Select **Connect & Sync**. Sim saves the selected scope and starts indexing with your account.
7070

7171
<Image className="mx-auto h-auto w-full max-w-md"
7272
src="/static/search/confluence-personal-setup.png"
7373
alt="Confluence personal source setup with a saved account, Atlassian site, and selected spaces"
74-
width={500}
75-
height={462}
74+
width={501}
75+
height={502}
7676
/>
7777

78-
Admins manage these sources under **Settings → Sources → Confluence → Manage**. In **Add source**, an **Account for browsing** populates the space picker; a saved personal Search account can be reused here. Choosing a browsing account does not enroll it for Search. Manual space keys work without a browsing account.
78+
Admins manage these sources under **Settings → Sources → Confluence**. When configuring a member-account connection, an **Account for browsing** populates the space picker; a saved personal Search account can be reused here. Choosing a browsing account does not enroll it for Search. Manual space keys work without a browsing account.
7979

8080
## Using a service account
8181

@@ -103,7 +103,7 @@ read:group:confluence
103103
Use all 12 scopes for account validation, pickers, content, permissions, and directory reads. Central indexing does not need write scopes.
104104

105105
4. Review and create the token, then copy it. Atlassian shows it only once.
106-
5. In Sim's source form, use **Indexing account** to add a service account. Paste the **API token**, enter **Site domain** (hostname only), and select **Add service account**. Continue in the source form with the same domain.
106+
5. In Sim's source form, use **Service account** to add a service account. Paste the **API token**, enter **Site domain** (hostname only), and select **Add service account**. Continue in the source form with the same domain.
107107

108108
<Image className="mx-auto h-auto w-full max-w-md"
109109
src="/static/credentials/atlassian/admin-auth-type-picker.png"
@@ -112,13 +112,13 @@ Use all 12 scopes for account validation, pickers, content, permissions, and dir
112112
height={551}
113113
/>
114114

115-
See Atlassian's [account setup](https://support.atlassian.com/user-management/docs/manage-your-service-accounts/) and [token instructions](https://support.atlassian.com/user-management/docs/manage-api-tokens-for-service-accounts/). Scopes do not grant space or page access. To replace an expiring token or change scopes, add a new credential in the source's **Settings**, select **Change indexing account**, and verify a sync before revoking the old token.
115+
See Atlassian's [account setup](https://support.atlassian.com/user-management/docs/manage-your-service-accounts/) and [token instructions](https://support.atlassian.com/user-management/docs/manage-api-tokens-for-service-accounts/). Scopes do not grant space or page access. To replace an expiring token or change scopes, add a new credential in the source's **Settings**, select **Change service account**, and verify a sync before revoking the old token.
116116

117117
## Configuration and indexed content
118118

119119
| Setting | What it controls |
120120
| --- | --- |
121-
| **Confluence Domain** | Cloud hostname only, such as `your-team.atlassian.net`; omit page URLs and `/wiki`. |
121+
| **Confluence site** | Cloud hostname only, such as `your-team.atlassian.net`; omit page URLs and `/wiki`. |
122122
| **Spaces / Space Keys** | Required spaces. The picker and manual input set the same scope. |
123123
| **Content Type** | **Pages only** (default), **Blog posts only**, or **All content** for both. |
124124
| **Filter by Label** | Optional comma-separated labels; content can match any listed label. |
@@ -130,7 +130,7 @@ Search manages the schedule and hides item limits. It indexes published/current
130130

131131
Central sources combine space permissions, page and ancestor restrictions, and group membership. Before returning central content, Sim uses your personal connection to check that you still have access to the configured Confluence site. If Atlassian cannot confirm that access, the content is hidden. Member sources use each person's provider listing. Sim admin status does not grant access to all pages, and permission changes take effect after syncing and processing.
132132

133-
Open **Settings → Sources → Confluence → Manage**, then a source's **Documents**, **Settings**, or **Sync history**. Invite teammates through **Settings → Members → Invite** or SSO, then have them connect through **Integrations**. **Accounts → Request connections** only requests a provider connection; it does not invite people to the organization.
133+
Open **Settings → Sources → Confluence**, then a source's **Documents**, **Settings**, or **Sync history**. Invite teammates through **Settings → Members → Invite** or SSO, then have them connect through **Integrations**. **People → Request connections** only requests a provider connection; it does not invite people to the organization.
134134

135135
## Troubleshooting
136136

@@ -155,6 +155,6 @@ Configure one shared Confluence OAuth app for teammates' connections:
155155
2. Under **Authorization → OAuth 2.0 (3LO)**, add `https://<your-sim-domain>/api/auth/oauth2/callback/confluence` as a callback.
156156
3. Under **Permissions**, add the Confluence API and its full `confluence` scope list from [Sim's OAuth configuration](https://github.com/simstudioai/sim/blob/staging/apps/sim/lib/oauth/oauth.ts), including `read:group:confluence`. Add **User Identity API → read:me**. Sim requests `offline_access` for refresh tokens; the service-account list above does not replace this shared OAuth scope set.
157157
4. Enable sharing under **Distribution**. Set `CONFLUENCE_CLIENT_ID` and `CONFLUENCE_CLIENT_SECRET` from the app's **Settings**, verify `NEXT_PUBLIC_APP_URL`, and restart Sim.
158-
5. Connect from **Integrations** and select the configured site. After changing the OAuth client or requested scopes, use **Settings → Sources → More → Refresh connection settings**, then have affected teammates reconnect.
158+
5. Connect from **Integrations** and select the configured site. After changing the OAuth client or requested scopes, use **Settings → Sources → More → Update sign-in settings**, then have affected teammates reconnect.
159159

160160
The callback must match Sim's scheme, hostname, port, and path exactly. If only the app owner can connect, check **Distribution**. See the [Atlassian OAuth guide](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/) and [Sim deployment reference](/platform/self-hosting/integrations-oauth).

apps/docs/content/docs/search/connect-your-account.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ For a central Google source, use your primary Workspace email and open **Search*
2323

2424
## Open Integrations
2525

26-
Open **Integrations** in the main sidebar, find the provider or source, and select **Connect**. Your first connection may ask for a GitHub repository, Confluence domain and space keys, or Jira domain and project keys. Enter the required fields and select **Connect**. If the provider is missing, ask an organization admin to turn it on under **Settings → Sources**.
26+
Open **Integrations** in the main sidebar, find the provider or source, and select **Connect**. First-time setup can also ask which content to index. For [Confluence](/search/confluence) and [Jira](/search/jira), connect your Atlassian account first, then choose the site and spaces or projects and select **Connect & Sync**. [GitHub](/search/github) asks for a repository. If the provider is missing, ask an organization admin to add it under **Settings → Sources → Add source**.
2727

2828
To connect another supported repository, site, or project scope, find the provider row labeled **Connect a different site or content scope** and select **Connect**. Connecting an existing source does not ask you to configure it again.
2929

@@ -36,7 +36,7 @@ To connect another supported repository, site, or project scope, find the provid
3636

3737
Complete the provider's authorization in the new tab. Choose the account associated with your verified Sim email. The provider may require your organization's SSO or app approval.
3838

39-
The authorization tab closes when the connection completes and Integrations updates. If the tab stays open, return to Integrations. Your account is saved when authorization completes; there is no separate submit step. If the popup was blocked or closed, allow popups and select **Connect** again. While authorization is pending, use **Open again**.
39+
The authorization tab closes when the connection completes and Integrations updates. If the tab stays open, return to Integrations. For an existing source, your account is saved when authorization completes. For first-time Atlassian setup, return to the form, choose your content, and select **Connect & Sync**. If the popup was blocked or closed, allow popups and select **Connect** again. While authorization is pending, use **Open again**.
4040

4141
</Step>
4242
<Step>
@@ -74,7 +74,7 @@ An account connection request does not invite you into the Sim organization. You
7474

7575
On the main **Integrations** page, use **Reconnect** beside an expired connection to renew it. To withdraw an account, open its row's actions menu and select **Disconnect**, then confirm. If several accounts are connected, choose the account to disconnect. Disconnecting stops that account from being used for organization indexing and workflows, and removes Search access that depends on it.
7676

77-
Admins manage setup from **Settings → Sources**. Select **Manage** beside the integration. Providers with personal connections have **Accounts** and a source list under **Advanced** (Google) or **Sources**. Without personal connections, the source list opens directly. This does not grant the admin access to every document.
77+
Admins manage setup from **Settings → Sources**. Open an integration, then its connection to see **Documents**, **Settings**, and **Sync history**. **People** shows account contributors across integrations and supports filtering by integration. This does not grant the admin access to every document.
7878

7979
## If you get stuck
8080

@@ -87,7 +87,7 @@ Admins manage setup from **Settings → Sources**. Select **Manage** beside the
8787
| **Verify email** | Verify your Sim email to return to the connection page. Reopen the original link if you are not redirected. |
8888
| Expired or cancelled authorization | Return to the original connection page and start again. If the invitation itself expired, ask the admin for a new request. |
8989
| Access revoked | Ask the organization admin to restore your account contribution access before reconnecting. |
90-
| Needs admin attention | Ask your admin to open **Settings → Sources**, select **Manage** beside the integration, and open its source or sync configuration to inspect the error. |
90+
| Needs admin attention | Ask your admin to open **Settings → Sources**, select the integration, and open its connection to inspect the error. |
9191

9292
<Callout type="info">
9393
Your Sim role does not override document access at the source. Connecting a different account or receiving a Search link does not share someone else's mailbox, private calendar, or restricted documents with you.

apps/docs/content/docs/search/github.mdx

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { Image } from '@/components/ui/image'
99

1010
GitHub Search indexes text files from repositories on `github.com`. An organization admin can install the GitHub App once and use it to index selected repositories. Each person connects their own GitHub account once to search the repositories they can access. Installing the App does not connect teammates or give them the installer's permissions.
1111

12-
Admin setup uses your organization's **Settings → Sources** page. Teammates connect from **Integrations** in the main sidebar. Installation indexing is available for organization Search. For workspace Search, use **Search → Add source** with member accounts or a dedicated user account; **Create & Invite** is the workspace equivalent of **Add source**.
12+
Admin setup uses your organization's **Settings → Sources** page. Teammates connect from **Integrations** in the main sidebar. Installation indexing is available for organization Search. For workspace Search, use **Search → Add source** with member accounts or a dedicated user account.
1313

1414
## Before you start
1515

@@ -26,7 +26,7 @@ To connect an installation for central indexing, you must be a Sim organization
2626

2727
### Open GitHub setup
2828

29-
Open **Settings → Sources** and turn on **GitHub**. Select **Set up** (or **Manage** if sources already exist), then **Add source**.
29+
Open **Settings → Sources → Add source** and select **GitHub**. This opens **Add GitHub repository**. Add one repository per connection; to add another, open **GitHub** from the Sources list and select **Add repository**.
3030

3131
</Step>
3232
<Step>
@@ -35,8 +35,6 @@ Open **Settings → Sources** and turn on **GitHub**. Select **Set up** (or **Ma
3535

3636
In **Sync documents with**, choose **Connect GitHub App** to index through an installation:
3737

38-
<Image className="mx-auto h-auto w-full max-w-md" src="/static/search/github-indexing-options.jpg" alt="GitHub source setup with indexing choices for connected members, a GitHub account, or a GitHub App" width={402} height={240} />
39-
4038
1. Select **Connect your GitHub account** if prompted. Finish authorization in the new tab, then return and select **Refresh**.
4139

4240
<Image className="mx-auto h-auto w-full max-w-md" src="/static/search/github-installation-connect.jpg" alt="Connect GitHub App dialog requiring a personal GitHub connection to verify manageable installations" width={402} height={172} />
@@ -55,20 +53,18 @@ Alternatively, leave **Connected members** selected to use members' accounts for
5553

5654
### Choose what to index
5755

58-
Enter **Repository** as `owner/repo`. For installation indexing, it must belong to the installation's account and be included in the repositories granted to the App. Add one source per repository; installing on all repositories does not automatically create sources for them.
56+
Enter **Repository** as `owner/repo`. For installation indexing, it must belong to the installation's account and be included in the repositories granted to the App. Add one connection per repository; installing on all repositories does not automatically add them to Search.
5957

6058
Open **More options** if you need a different branch, path or extension filters, or metadata tags.
6159

62-
<Image className="mx-auto h-auto w-full max-w-md" src="/static/search/github-setup.jpg" alt="GitHub repository configuration with branch, path filter, file extensions, and metadata tags" width={402} height={532} />
63-
6460
| Field | What to enter |
6561
|---|---|
66-
| Repository | `owner/repo`. Add another source for another repository. |
62+
| Repository | `owner/repo`. Use **Add repository** for another repository. |
6763
| Branch | Optional. Leave blank to follow the repository's default branch. |
6864
| Path Filter | Optional prefix such as `docs/`. |
6965
| File Extensions | Optional comma-separated list, such as `.md, .txt, .mdx`. |
7066

71-
**Metadata tags** controls the metadata stored with results. Its defaults are suitable for most sources. Select **Add source** to save the source.
67+
**Metadata tags** controls the metadata stored with results. Its defaults are suitable for most sources. Select **Add repository** to save the connection.
7268

7369
</Step>
7470
<Step>
@@ -79,9 +75,9 @@ Open **Integrations** in the main sidebar, select **Connect** on the GitHub sour
7975

8076
An App installation or dedicated indexing account can start syncing after the source is saved. With **Connected members**, indexing begins after someone connects. Each teammate still connects before searching. An existing GitHub connection in the same Sim organization is reused across its GitHub sources.
8177

82-
Open **Settings → Sources**, select **Manage** beside **GitHub**, then open the source to inspect **Documents**, edit **Settings**, or review **Sync history**.
78+
Open **Settings → Sources**, open **GitHub**, then open the source to inspect **Documents**, edit **Settings**, or review **Sync history**.
8379

84-
Use **GitHubAccounts → Request connections** to send provider-specific connection requests. These requests do not grant organization membership. For another repository, add another source; members can also select **Connect** beside the GitHub row labeled **Connect a different site or content scope** in Integrations.
80+
Use **SettingsSourcesPeople**, filter by **GitHub**, then select **Request connections** to send provider-specific connection requests. These requests do not grant organization membership. For another repository, add another source; members can also select **Connect** beside the GitHub row labeled **Connect a different site or content scope** in Integrations.
8581

8682
</Step>
8783
</Steps>
@@ -106,7 +102,7 @@ This is an installation plus personal authorization flow. GitHub Search does not
106102
| Identity verification fails | Verify the email used by your Sim account in GitHub's email settings, then reconnect. A public profile email alone is insufficient. |
107103
| Authorization fails after installation | Return to Sim and start **Connect** there. Do not enable authorization during installation. |
108104
| Account authorization did not complete | Start the connection again from Sim. If it repeats, contact your organization admin or Sim support. For self-hosted Sim, check the [App callback and credentials](/platform/self-hosting/integrations-oauth#github-search). |
109-
| GitHub asks for a provider configuration update | An organization admin selects **Settings → Sources → More → Refresh connection settings**, then affected users reconnect GitHub. |
105+
| GitHub asks for a provider configuration update | An organization admin selects **Settings → Sources → More → Update sign-in settings**, then affected users reconnect GitHub. |
110106
| Indexed files no longer appear | Confirm your own repository access, App repository selection, and connection status. Installation-indexed content is also withheld when GitHub cannot verify current access; retry once GitHub is available. |
111107
| Sync is incomplete | Review the source status. Very large Git trees, file size limits, and unreadable files can limit indexing. |
112108
| Empty repository returns an error | Add an initial commit, then sync again. GitHub does not return a file tree for an uninitialized repository. |

0 commit comments

Comments
 (0)