> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gumloop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Apps

## Overview

Gumloop connects to external services like Gmail, Slack, Salesforce, and more. **Apps** are how you authenticate these connections securely. You can connect multiple accounts for each service and choose which one to use in each agent or flow.

<CardGroup cols={2}>
  <Card title="Personal Apps" icon="user">
    Private to you. Perfect for individual work, testing, and personal accounts.
  </Card>

  <Card title="Team Apps" icon="users">
    Shared with your team. Ideal for collaborative agents and flows where everyone uses the same account.
  </Card>
</CardGroup>

<Tip>
  Start with personal apps for most work. Use team apps only when your team needs to run agents and flows with shared accounts.
</Tip>

***

## Personal vs Team Apps

|                         | **Personal Apps**                           | **Team Apps**                       |
| ----------------------- | ------------------------------------------- | ----------------------------------- |
| **Who can use?**        | Only you                                    | All team members                    |
| **Where do they work?** | Any space (personal or team)                | Specific team only                  |
| **Default in nodes?**   | Yes, automatic default                      | No, must be selected manually       |
| **Setup**               | One-time, works everywhere                  | Per team                            |
| **Best for**            | Individual work, testing, personal accounts | Team collaboration, shared accounts |
| **Privacy**             | Fully private, even in teams                | Shared with all team members        |

***

## Connecting a Personal App

<Steps>
  <Step title="Go to your Connectors page">
    Visit your [Connectors page](https://www.gumloop.com/personal/connectors) or navigate via **Settings → Connectors**
  </Step>

  <Step title="Click Connect New App">
    Select the service you want to connect (Gmail, Slack, OpenAI, etc.)
  </Step>

  <Step title="Authenticate">
    **OAuth (most services):** Click "Connect" and follow the authorization flow. No manual token management needed. Examples: Gmail, Slack, Microsoft services.

    **API Keys (some services):** Paste your API key directly. Examples: OpenAI, AWS, Anthropic.
  </Step>

  <Step title="Set as default (optional)">
    If you connect multiple accounts for the same service (e.g., three different Gmail accounts), you can choose which one is your default. If you only have one account connected for a service, it's automatically your default.
  </Step>
</Steps>

<div align="center">
  <img src="https://mintcdn.com/agenthub/0MIzwL1cHHBNpu7Y/images/credentials.png?fit=max&auto=format&n=0MIzwL1cHHBNpu7Y&q=85&s=d206a5744659ff9edd9af0e0fa42a74e" alt="Personal Connectors page" width="800" data-path="images/credentials.png" />
</div>

<Info>
  **Privacy guaranteed:** Even in teams, other members cannot see or use your personal apps.
</Info>

***

## Selecting Credentials in Nodes

### In Flows

In flows, every node that requires authentication has a **"Credentials to use"** dropdown. If you have multiple credentials connected for the same service (e.g., three Gmail accounts), you can pick exactly which one to use on each node.

<div align="center">
  <img src="https://mintcdn.com/agenthub/Ikk0mS7ZAjXA5-_q/images/node_credentials.png?fit=max&auto=format&n=Ikk0mS7ZAjXA5-_q&q=85&s=bc36395e6736650072637ddff370523d" alt="Credential selection dropdown in a node" width="600" data-path="images/node_credentials.png" />
</div>

<Warning>
  All nodes default to your personal credential, even in teams. To use a team credential, you must manually select it from the dropdown on each node.
</Warning>

#### Dropdown options

<AccordionGroup>
  <Accordion title="Personal Default" icon="star">
    Uses your default personal credential for this service. **Selected by default on all new nodes.**

    Use when you're working in your personal space, testing, or want to use your own account even in a team.
  </Accordion>

  <Accordion title="Team Default" icon="users">
    Uses the team's default credential for this service. **Must be manually selected.**

    Use when everyone on the team should use the same shared account (e.g., [marketing@company.com](mailto:marketing@company.com)).

    <Warning>
      If no team credential is set up for this service, the node will fail. Make sure team apps are configured first.
    </Warning>
  </Accordion>

  <Accordion title="Specific Credential" icon="key">
    Choose any specific credential you've connected. Useful when you need different accounts for different parts of the same flow.
  </Accordion>
</AccordionGroup>

### In Agents

Each app (integration) connected to your agent has a credential menu. Click the three-dot icon next to any app to choose which account the agent should use.

The options you see depend on whether the agent is in your **personal space** or in a **team**.

#### Personal Agents

Personal agents offer two choices:

<Frame>
  <img src="https://mintcdn.com/agenthub/K_k-tD3TARMHQhGo/images/agent-credentials/personal-agent-credential-menu.png?fit=max&auto=format&n=K_k-tD3TARMHQhGo&q=85&s=22e9e488e899e0737675620272102b27" alt="Personal agent credential menu showing Use Personal Default and Use Specific Account options" width="878" height="572" data-path="images/agent-credentials/personal-agent-credential-menu.png" />
</Frame>

| Option                   | What it does                                                                                                                                                                                 |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Use Personal Default** | Uses your default account for this service. Each person who runs the agent uses their own default. This is the default setting.                                                              |
| **Use Specific Account** | Pick a specific personal account for this agent. Useful when you have multiple accounts for the same service (e.g., two Outlook inboxes) and want this agent to always use a particular one. |

When you select **Use Specific Account**, a dialog opens showing all your connected accounts for that service:

<Frame>
  <img src="https://mintcdn.com/agenthub/K_k-tD3TARMHQhGo/images/agent-credentials/personal-agent-select-account.png?fit=max&auto=format&n=K_k-tD3TARMHQhGo&q=85&s=15708c96bbcacd5f4c4912fff0f26916" alt="Account selection dialog showing connected personal accounts with last refresh time" width="1294" height="838" data-path="images/agent-credentials/personal-agent-select-account.png" />
</Frame>

After selecting an account, the app row in your agent's configuration shows the chosen account name:

<Frame>
  <img src="https://mintcdn.com/agenthub/K_k-tD3TARMHQhGo/images/agent-credentials/personal-agent-specific-account.png?fit=max&auto=format&n=K_k-tD3TARMHQhGo&q=85&s=00b5e7bb8c073a2d27dc68c502907565" alt="Agent app list showing Outlook with a specific account selected" width="792" height="234" data-path="images/agent-credentials/personal-agent-specific-account.png" />
</Frame>

#### Team Agents

Team agents have a third option: **Use Team Default**. This lets all team members share one account without each person needing their own credentials for that service.

<Frame>
  <img src="https://mintcdn.com/agenthub/K_k-tD3TARMHQhGo/images/agent-credentials/team-agent-credential-menu.png?fit=max&auto=format&n=K_k-tD3TARMHQhGo&q=85&s=f2ec29c58411c78bb18da87c3429f41c" alt="Team agent credential menu showing Use Personal Default, Use Team Default, and Use Specific Account options" width="974" height="636" data-path="images/agent-credentials/team-agent-credential-menu.png" />
</Frame>

| Option                   | What it does                                                    |
| ------------------------ | --------------------------------------------------------------- |
| **Use Personal Default** | Each person who runs the agent uses their own personal account. |
| **Use Team Default**     | Everyone on the team uses the same shared team account.         |
| **Use Specific Account** | Pick a specific team account for this agent.                    |

<Warning>
  Changing a team agent's credential affects everyone on the team. When you switch to a team account, a confirmation dialog appears to make sure you understand the impact.
</Warning>

<Frame>
  <img src="https://mintcdn.com/agenthub/K_k-tD3TARMHQhGo/images/agent-credentials/team-agent-change-confirmation.png?fit=max&auto=format&n=K_k-tD3TARMHQhGo&q=85&s=5896e9428e78038259e8e5ca8bc34f35" alt="Confirmation dialog asking if you want to change the account this team agent uses" width="1286" height="430" data-path="images/agent-credentials/team-agent-change-confirmation.png" />
</Frame>

The confirmation dialog gives you three choices:

* **Cancel** to keep the current setting
* **Make a copy of this agent** to create a personal copy instead of changing the shared agent
* **Select team account** to proceed with the change

After confirming, you can select which team account to use:

<Frame>
  <img src="https://mintcdn.com/agenthub/K_k-tD3TARMHQhGo/images/agent-credentials/team-agent-select-account.png?fit=max&auto=format&n=K_k-tD3TARMHQhGo&q=85&s=6bcab36216a4365cddb4c5d419021706" alt="Account selection dialog showing connected team accounts" width="1390" height="844" data-path="images/agent-credentials/team-agent-select-account.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/agenthub/K_k-tD3TARMHQhGo/images/agent-credentials/team-agent-specific-account.png?fit=max&auto=format&n=K_k-tD3TARMHQhGo&q=85&s=7dffe7042300e6e25f15c78b9d6c4f87" alt="Agent app list showing Google Drive with a specific team account selected" width="826" height="222" data-path="images/agent-credentials/team-agent-specific-account.png" />
</Frame>

#### Quick Summary

| Agent location     | Default behavior                              | Can pick a specific account?     |
| ------------------ | --------------------------------------------- | -------------------------------- |
| **Personal space** | Each user's personal default                  | Yes, from your personal accounts |
| **Team**           | Each user's personal default (unless changed) | Yes, from team accounts          |

<Tip>
  For most use cases, **Use Personal Default** is the right choice. Each person's requests use their own accounts, keeping data private. Switch to team credentials only when everyone needs to read from or write to the same shared account (e.g., a shared support inbox or a team Google Drive).
</Tip>

Learn more about using agents with credentials in [Using Agents in Slack → Credentials & Authentication](https://docs.gumloop.com/core-concepts/agents_slack#credentials--authentication).

***

## Team Apps

Team apps are shared integrations that all team members can use. There are two ways to set them up.

### Option 1: Right-Click from the Sidebar

On the [Home page](https://www.gumloop.com/hub), **right-click** on your team in the sidebar and select **Apps**. Then click **Connect New App**.

<Frame>
  <img src="https://mintcdn.com/agenthub/EokesKd56_c0JgOx/images/team_right_click.png?fit=max&auto=format&n=EokesKd56_c0JgOx&q=85&s=47bb516b29d47321133a572678524f75" alt="Team Connectors page with Connect New App button" width="610" height="400" data-path="images/team_right_click.png" />
</Frame>

### Option 2: From Organization Settings

1. Go to [Settings → Teams](https://www.gumloop.com/settings/organization/teams)
2. Click on the team, then select **Connectors** in the sidebar
3. Click **Connect New App**

***

## Managing Your Connectors

<AccordionGroup>
  <Accordion title="Viewing connected apps" icon="list">
    Visit your [Connectors page](https://www.gumloop.com/personal/connectors) to see all your personal connectors, last refresh time, connected services, and defaults.
  </Accordion>

  <Accordion title="Refreshing an app" icon="rotate">
    OAuth apps automatically refresh when needed. If you see authentication errors:

    1. Go to your Connectors page
    2. Click **Reauthenticate** on the affected service
    3. Complete the authorization flow again
  </Accordion>

  <Accordion title="Removing an app" icon="trash">
    1. Go to your Connectors page
    2. Find the app to remove and click **Revoke**
    3. Confirm removal

    All auth tokens are removed immediately. Agents and flows using this app will fail until you reconnect.
  </Accordion>

  <Accordion title="Setting defaults" icon="star">
    **Personal default:** Your go-to app for a service. Used when "Personal Default" is selected in a node. Only affects your account.

    **Team default:** The team's primary app for a service. Used when "Team Default" is selected. Applies to all team members.
  </Accordion>
</AccordionGroup>

***

## Microsoft Office Setup (Admin Only)

For organizations using Microsoft services (Teams, Outlook, Excel, Word, OneLake), **administrators must configure consent** in Microsoft Entra ID before users can authenticate.

<Tabs>
  <Tab title="Tenant-Wide Consent" icon="building">
    ### Option 1: Grant Admin Consent (Recommended)

    <Steps>
      <Step title="Access Microsoft Entra admin center">
        Go to [Microsoft Entra admin center](https://entra.microsoft.com)
      </Step>

      <Step title="Navigate to Enterprise apps">
        Navigate to **Entra ID > Enterprise apps > All applications**

        <div align="center">
          <img src="https://mintcdn.com/agenthub/BbHU4APLtf15VcpU/images/entra-admin-consent-navigation.png?fit=max&auto=format&n=BbHU4APLtf15VcpU&q=85&s=eb7f8dea4510bffacc4f6b0aa25fa790" alt="Navigate to Enterprise apps" width="600" data-path="images/entra-admin-consent-navigation.png" />
        </div>
      </Step>

      <Step title="Search for Gumloop">
        Search for Gumloop using client ID: `d3c2a9a5-7f60-40d1-a8ba-62bab546a0f3`

        <div align="center">
          <img src="https://mintcdn.com/agenthub/OIDhR9iY2uRNFi5X/images/gumloop-enterprise-app-search.png?fit=max&auto=format&n=OIDhR9iY2uRNFi5X&q=85&s=3646a3384111cd28c57b97f24930f9f2" alt="Search for Gumloop" width="600" data-path="images/gumloop-enterprise-app-search.png" />
        </div>
      </Step>

      <Step title="Grant consent">
        Under **Security > Permissions**, click **Grant admin consent**
      </Step>
    </Steps>
  </Tab>

  <Tab title="Admin Consent Workflow" icon="clipboard-check">
    ### Option 2: Enable User Requests

    <Steps>
      <Step title="Open admin consent settings">
        Go to **Entra ID > Enterprise apps > Consent and permissions > Admin consent settings**
      </Step>

      <Step title="Enable user requests">
        Set **Users can request admin consent** to **Yes**

        <div align="center">
          <img src="https://mintcdn.com/agenthub/dn7emlKONFx9smnZ/images/admin-consent-toggle-yes.png?fit=max&auto=format&n=dn7emlKONFx9smnZ&q=85&s=bbb507d163735758878e3a16cd0223c5" alt="Enable admin consent requests" width="600" data-path="images/admin-consent-toggle-yes.png" />
        </div>
      </Step>

      <Step title="Configure reviewers">
        Set up reviewers and approval workflow for user requests
      </Step>
    </Steps>
  </Tab>

  <Tab title="App Provisioning" icon="plus">
    ### If Gumloop Isn't in Your Tenant Yet

    Use this URL to provision the app (replace `{tenant}` with your tenant ID):

    ```text theme={"dark"}
    https://login.microsoftonline.com/{tenant}/adminconsent?client_id=d3c2a9a5-7f60-40d1-a8ba-62bab546a0f3
    ```
  </Tab>
</Tabs>

### Required Permissions by Service

| Integration    | Key Permissions                                                   |
| -------------- | ----------------------------------------------------------------- |
| **Teams**      | `Team.ReadBasic.All`, `ChannelMessage.Read.All`, `Chat.ReadWrite` |
| **Outlook**    | `Mail.ReadWrite`, `Mail.Send`                                     |
| **Excel/Word** | `Files.ReadWrite`, `Sites.ReadWrite.All`                          |
| **OneLake**    | `https://storage.azure.com/user_impersonation`                    |

<Warning>
  **Admin required:** You must be a Global Administrator, Cloud Application Administrator, or Application Administrator to grant consent.
</Warning>

***

## Salesforce Setup (Admin Only)

As of September 2025, Salesforce introduced new security restrictions that require administrators to pre-install the Gumloop connected app before users can authenticate with their Salesforce instances. For more details, see the [official Salesforce documentation](https://help.salesforce.com/s/articleView?id=005132365\&type=1).

<Info>
  Gumloop is a **Salesforce Connected App**, not an AppExchange app. You will **not** find it in the Salesforce AppExchange marketplace. A Salesforce administrator needs to authorize the connection directly.
</Info>

<Tabs>
  <Tab title="Admin Connects Directly (Recommended)" icon="bolt">
    The easiest way is for a **Salesforce administrator** to authenticate directly from Gumloop:

    <Steps>
      <Step title="Go to your Connectors page">
        Visit the [Salesforce connectors page](https://www.gumloop.com/personal/connectors?provider=salesforce) in Gumloop
      </Step>

      <Step title="Click Connect and authorize">
        Click **Connect** next to Salesforce and sign in with your Salesforce admin account.
      </Step>

      <Step title="Gumloop is automatically added">
        The Gumloop connected app is automatically installed in your Salesforce organization. No additional setup needed.
      </Step>
    </Steps>

    <Tip>
      After the admin connects, all users in the Salesforce organization can authenticate their own accounts with Gumloop.
    </Tip>
  </Tab>

  <Tab title="Non-Admin User Flow" icon="user">
    If a **non-admin user** tries to connect before an admin has authorized:

    <Steps>
      <Step title="User attempts to connect">
        The user visits the [Salesforce connectors page](https://www.gumloop.com/personal/connectors?provider=salesforce) and clicks **Connect**
      </Step>

      <Step title="Admin approval required">
        Salesforce blocks the connection. The Salesforce admin will see a request to approve the Gumloop app in their admin console.
      </Step>

      <Step title="Admin approves the app">
        The admin navigates to **Setup > Apps > Connected Apps > Manage Connected Apps** in Salesforce and approves the pending request.

        <div align="center">
          <img src="https://mintcdn.com/agenthub/HuhMdNdzXDcfecYF/images/salesforce-connected-app-setup.png?fit=max&auto=format&n=HuhMdNdzXDcfecYF&q=85&s=f794cbc252c0c10541d52c51e9d34179" alt="Salesforce connected app setup" width="600" data-path="images/salesforce-connected-app-setup.png" />
        </div>
      </Step>

      <Step title="User retries">
        After admin approval, the user can return and successfully complete the OAuth flow.
      </Step>
    </Steps>
  </Tab>
</Tabs>

### Managing the Connected App in Salesforce

1. Go to **Setup > Apps > Connected Apps > Manage Connected Apps**
2. Find the Gumloop app to view or modify settings
3. Configure user access policies, IP restrictions, and session policies as needed

<Info>
  For more details, refer to the [Salesforce Connected App documentation](https://help.salesforce.com/s/articleView?id=sf.connected_app_overview.htm\&type=5).
</Info>

***

## Security & Compliance

<CardGroup cols={3}>
  <Card title="SOC 2 Type II" icon="shield-check">
    Certified secure infrastructure and processes
  </Card>

  <Card title="GDPR Compliant" icon="scale-balanced">
    Full compliance with data protection regulations
  </Card>

  <Card title="Trust Center" icon="file-shield" href="https://trust.gumloop.com/">
    View our complete security documentation
  </Card>
</CardGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Organization and Teams" icon="building" href="https://docs.gumloop.com/core-concepts/teams">
    Understand how personal spaces and teams work
  </Card>

  <Card title="User Roles & Permissions" icon="shield" href="https://docs.gumloop.com/core-concepts/organization_user_roles">
    Organization and team permission levels
  </Card>
</CardGroup>
