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

# Integrations

> The following integrations are available for use with your AI Agents through Auth0.

export const SearchAndFilterGrid = ({items = [], filters = []}) => {
  const fuzzySearch = (needle, haystack) => {
    if (!needle || !haystack) return false;
    const needleLower = needle.toLowerCase();
    const haystackLower = haystack.toLowerCase();
    return haystackLower.includes(needleLower);
  };
  const [searchTerm, setSearchTerm] = useState("");
  const [filter, setFilter] = useState(null);
  const filterButtonsRef = useRef(null);
  const indicatorRef = useRef(null);
  useEffect(() => {
    if (!filterButtonsRef.current || !indicatorRef.current) return;
    const activeButton = filterButtonsRef.current.querySelector(".custom-grid-filter-button.active");
    const container = filterButtonsRef.current;
    const indicator = indicatorRef.current;
    if (activeButton) {
      const containerRect = container.getBoundingClientRect();
      const buttonRect = activeButton.getBoundingClientRect();
      const left = buttonRect.left - containerRect.left - 2;
      const width = buttonRect.width;
      indicator.style.transform = `translateX(${left}px)`;
      indicator.style.width = `${width}px`;
      indicator.style.opacity = "1";
    }
  }, [filter]);
  const filteredItems = useMemo(() => {
    let filtered = items;
    if (searchTerm.trim()) {
      filtered = filtered.filter(item => {
        return fuzzySearch(searchTerm, item.title) || fuzzySearch(searchTerm, item.description);
      });
    }
    if (filter) {
      filtered = filtered.filter(item => item.type === filter);
    }
    return filtered;
  }, [searchTerm, filter]);
  const sortedItems = useMemo(() => {
    return [...filteredItems].sort((a, b) => {
      if (a.status === "Available" && b.status === "Coming Soon") return -1;
      if (a.status === "Coming Soon" && b.status === "Available") return 1;
      return a.title.localeCompare(b.title);
    });
  }, [filteredItems]);
  return <div className="custom-grid-container">
      <div className="custom-grid-search-container">
        <div className="custom-grid-search-filter-wrapper">
          <div className="custom-grid-search-input-wrapper">
            <input type="text" placeholder="Search..." value={searchTerm} onChange={e => setSearchTerm(e.target.value)} className="custom-grid-search-input" />
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" className="custom-grid-search-icon">
              <circle cx="11" cy="11" r="8" stroke="currentColor" strokeWidth="2" />
              <path d="m21 21-4.35-4.35" stroke="currentColor" strokeWidth="2" />
            </svg>
          </div>
          <div className="custom-grid-filter-buttons-wrapper">
            <div className="custom-grid-filter-buttons" ref={filterButtonsRef}>
              <button onClick={() => setFilter(null)} className={`custom-grid-filter-button ${filter === null ? "active" : ""}`}>
                All
              </button>
              {filters.map(filterOption => <button key={filterOption} onClick={() => setFilter(filterOption)} className={`custom-grid-filter-button ${filter === filterOption ? "active" : ""}`}>
                  {filterOption}
                </button>)}
              <span ref={indicatorRef} className="custom-grid-filter-buttons-indicator" />
            </div>
          </div>
        </div>
      </div>

      <Columns cols={2}>
        {sortedItems.map(item => <CustomCard item={item} key={item.id} />)}
      </Columns>

      {sortedItems.length === 0 && <div className="custom-grid-no-results">
          <div className="custom-grid-no-results-icon">
            <svg width="40" height="40" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-cpUzJl">
              <path fill-rule="evenodd" clip-rule="evenodd" d="M10 2a8 8 0 104.87 14.348l5.423 5.423 1.414-1.415-5.415-5.415A8 8 0 0010 2zm-6 8a6 6 0 1112 0 6 6 0 01-12 0z" fill="currentColor"></path>
            </svg>
          </div>
          <h3 className="custom-grid-no-results-title">No results found</h3>
          <p className="custom-grid-no-results-text">
            {searchTerm ? `No results for "${searchTerm}". ` : ""}Try adjusting
            your search or filter criteria.
          </p>
        </div>}
    </div>;
};

export const CustomCard = ({item}) => {
  const isComingSoon = item.status === 'Coming Soon';
  const cardContent = <div className="custom-card">
      <div className="custom-card-header">
        <span className={`custom-card-icon ${isComingSoon ? 'coming-soon' : ''}`}>
          <img src={item.icon} alt={`${item.title} icon`} style={{
    ...item.styles
  }} />
        </span>
        <h3 className={`custom-card-title ${isComingSoon ? 'coming-soon' : ''}`}>
          {item.title}
        </h3>
      </div>

      <p className={`custom-card-description ${isComingSoon ? 'coming-soon' : ''}`}>
        {item.description}
      </p>

      <div className="custom-card-footer">
        <span className={`custom-card-type-tag ${isComingSoon ? 'coming-soon' : ''}`}>
          {item.type}
        </span>

        {isComingSoon && <em className="custom-card-coming-soon">
            Coming Soon
          </em>}
      </div>
    </div>;
  return <Card href={item.href} disabled={isComingSoon}>
      {cardContent}
    </Card>;
};

export const integrationTypes = ["Social", "Enterprise"];

export const integrations = [{
  id: "gmail",
  title: "Gmail",
  icon: "/ai/docs/img/integrations/gmail-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and send Gmail emails."
}, {
  id: "google-calendar",
  title: "Google Calendar",
  icon: "/ai/docs/img/integrations/google-calendar-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, schedule, and update events in Google Calendar."
}, {
  id: "google-drive",
  title: "Google Drive",
  icon: "/ai/docs/img/integrations/google-drive-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and modify files in Google Drive."
}, {
  id: "google-sheets",
  title: "Google Sheets",
  icon: "/ai/docs/img/integrations/google-sheets-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and modify spreadsheets in Google Sheets."
}, {
  id: "google-slides",
  title: "Google Slides",
  icon: "/ai/docs/img/integrations/google-slides-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and modify slides in Google Slides."
}, {
  id: "google-contacts",
  title: "Google Contacts",
  icon: "/ai/docs/img/integrations/google-contacts-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and modify contacts in Google Contacts."
}, {
  id: "google-tasks",
  title: "Google Tasks",
  icon: "/ai/docs/img/integrations/google-tasks-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and modify tasks in Google Tasks."
}, {
  id: "google-workspace",
  title: "Google Workspace",
  icon: "/ai/docs/img/integrations/google-avatar.png",
  href: "/integrations/google-workspace",
  status: "Available",
  type: "Enterprise",
  description: "Allow your AI agents to access your Google Workspace services including Gmail, Google Calendar, Drive, and more."
}, {
  id: "youtube",
  title: "YouTube",
  icon: "/ai/docs/img/integrations/youtube-avatar.png",
  href: "/integrations/google",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and manage YouTube videos."
}, {
  id: "microsoft",
  title: "Microsoft",
  icon: "/ai/docs/img/integrations/microsoft-avatar.png",
  href: "/integrations/microsoft",
  status: "Available",
  type: "Social",
  description: "Connect to your users via their Microsoft Account."
}, {
  id: "microsoft-azure",
  title: "Microsoft Entra (Azure AD)",
  icon: "/ai/docs/img/integrations/microsoft-avatar.png",
  href: "/integrations/microsoft-azure",
  status: "Available",
  type: "Enterprise",
  description: "Allow your AI agents to connect to Microsoft Entra (Azure AD) services including Outlook, Teams, OneDrive, and more."
}, {
  id: "github",
  title: "GitHub",
  icon: "/ai/docs/img/integrations/github-avatar.png",
  href: "/integrations/github",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to create and manage GitHub issues and pull requests.",
  styles: {
    filter: "var(--github-logo-filter, none)"
  }
}, {
  id: "slack",
  title: "Sign in with Slack",
  icon: "/ai/docs/img/integrations/slack-avatar.png",
  href: "/integrations/slack",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to send and receive Slack messages."
}, {
  id: "box",
  title: "Box",
  icon: "/ai/docs/img/integrations/box-avatar.png",
  href: "/integrations/box",
  status: "Available",
  type: "Social",
  description: "Allow your AI agents to search, create, and modify files in Box."
}, {
  id: "oauth2",
  title: "OAuth2",
  icon: "/ai/docs/img/integrations/oauth2-avatar.png",
  href: "/integrations/oauth2",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to connect with any OAuth2 compliant identity provider or service."
}, {
  id: "oidc",
  title: "OpenID Connect",
  icon: "/ai/docs/img/integrations/oidc-avatar.png",
  href: "/integrations/oidc",
  status: "Available",
  type: "Enterprise",
  description: "Allow your AI agent to connect with any OpenID Connect (OIDC) compliant identity provider."
}, {
  id: "discord",
  title: "Discord",
  icon: "/ai/docs/img/integrations/discord-avatar.png",
  href: "/integrations/discord",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to welcome new members, play music, manage user roles, and integrate with other services to post notifications."
}, {
  id: "figma",
  title: "Figma",
  icon: "/ai/docs/img/integrations/figma-avatar.png",
  href: "/integrations/figma",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to export assets, apply changes to design files programmatically, and comment on prototypes to automate design feedback loops."
}, {
  id: "freshbooks",
  title: "FreshBooks",
  icon: "/ai/docs/img/integrations/fresh-books-avatar.png",
  href: "/integrations/freshbooks",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to create and send invoices, track expenses from receipts, and manage client information."
}, {
  id: "snapchat",
  title: "Snapchat",
  icon: "/ai/docs/img/integrations/snapchat-avatar.png",
  href: "/integrations/snapchat",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to share content (photos, videos, links) directly to a user's Snapchat account."
}, {
  id: "spotify",
  title: "Spotify",
  icon: "/ai/docs/img/integrations/spotify-avatar.png",
  href: "/integrations/spotify",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to discover music, create and modify playlists based on user taste, control playback on devices, and add songs to the user's library."
}, {
  id: "stripe",
  title: "Stripe Connect",
  icon: "/ai/docs/img/integrations/stripe-avatar.png",
  href: "/integrations/stripe-connect",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to act as a platform finance agent that can onboard new sellers, facilitate payments between customers and sellers, manage payouts, and handle marketplace financial operations."
}, {
  id: "tumblr",
  title: "Tumblr",
  icon: "/ai/docs/img/integrations/tumblr-avatar.png",
  href: "/integrations/tumblr",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to create and schedule new posts (text, photo, video), reblog content, and manage a user's blog theme and settings."
}, {
  id: "amazon",
  title: "Amazon",
  icon: "/ai/docs/img/integrations/amazon-avatar.png",
  href: "/integrations/amazon",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent as an Amazon seller to manage inventory, update product listings, and track sales performance. Or, as a consumer, a shopping agent that tracks product prices and availability."
}, {
  id: "basecamp",
  title: "Basecamp",
  icon: "/ai/docs/img/integrations/basecamp-avatar.png",
  href: "/integrations/basecamp",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to manage projects, to-do lists, messages, schedules, and team collaboration in Basecamp."
}, {
  id: "digitalocean",
  title: "DigitalOcean",
  icon: "/ai/docs/img/integrations/digitalocean-avatar.png",
  href: "/integrations/digitalocean",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to provision and manage cloud infrastructure, Droplets, Kubernetes clusters, and automate deployment workflows."
}, {
  id: "salesforce",
  title: "Salesforce",
  icon: "/ai/docs/img/integrations/salesforce-avatar.png",
  href: "/integrations/salesforce",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to access customer records, manage sales opportunities, and automate CRM workflows in Salesforce."
}, {
  id: "twitch",
  title: "Twitch",
  icon: "/ai/docs/img/integrations/twitch-avatar.png",
  href: "/integrations/twitch",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to access Twitch streaming data, manage broadcasts, and integrate with gaming workflows."
}, {
  id: "twitter",
  title: "X (Twitter)",
  icon: "/ai/docs/img/integrations/x-avatar.png",
  href: "/integrations/twitter",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to post tweets, manage followers, and integrate with social media workflows."
}, {
  id: "bitbucket",
  title: "Bitbucket",
  icon: "/ai/docs/img/integrations/bitbucket-avatar.png",
  href: "/integrations/bitbucket",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to manage Bitbucket repositories, track issues, and automate work with code repositories."
}, {
  id: "dropbox",
  title: "Dropbox",
  icon: "/ai/docs/img/integrations/dropbox-avatar.png",
  href: "/integrations/dropbox",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to manage files, share Dropbox content for analysis, and automate document processing."
}, {
  id: "fitbit",
  title: "Fitbit",
  icon: "/ai/docs/img/integrations/fitbit-avatar.png",
  href: "/integrations/fitbit",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to access Fitbit health data, track fitness goals, and manage user profiles."
}, {
  id: "hugging-face",
  title: "Hugging Face",
  icon: "/ai/docs/img/integrations/hugging-face-avatar.png",
  href: "/integrations/hugging-face",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to access Hugging Face model information, manage datasets, and integrate with machine learning workflows."
}, {
  id: "paypal",
  title: "PayPal",
  icon: "/ai/docs/img/integrations/paypal-avatar.png",
  href: "/integrations/paypal",
  status: "Available",
  type: "Social",
  description: "Allow your AI agent to access PayPal transaction information, manage payments, and integrate with financial workflows."
}];

Allow your AI Agents to interact with these applications by setting up an Auth0 Connection. Users can log in to your application using these identities or give access to share their data with your AI Agents.

<SearchAndFilterGrid items={integrations} filters={integrationTypes} />

<Info>
  **Can't find what you're looking for?**

  You can build a custom integration for any OAuth2-compliant service using our [Custom OAuth2 Connection](/integrations/oauth2) guide, or contact our team to request a new integration.
</Info>

## Getting Started

Ready to start using integrations in your application?

<Columns cols={2}>
  <Card title="Call an API Using Your Integration" href="/get-started/call-others-apis-on-users-behalf" icon="key" horizontal />
</Columns>
