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

# JobAdder

> 246 actions available for JobAdder through StackOne. Use via Actions RPC, Toolset SDK, MCP, or A2A.

export const GettingStarted = ({connector}) => {
  const linkStyle = {
    textDecoration: 'none'
  };
  const authConfigGuides = connector?.authentication?.filter(a => a?.setupGuide) ?? [];
  const linkAccountGuides = connector?.authentication?.filter(a => a?.configGuide) ?? [];
  return <div style={{
    marginTop: '32px',
    paddingTop: '24px'
  }} className="getting-started-section">
      <div style={{
    fontSize: '20px',
    fontWeight: '600',
    marginBottom: '12px'
  }}>Getting Started</div>
      <Steps>
        <Step title="Create or Select a Project">
          Set up a new project or select an existing one. See the <a href="/guides/managing-projects" style={linkStyle}>Projects Guide</a>.
        </Step>
        <Step title="Configure the Connector">
          <>
            Enable the connector and set up auth configuration in your project. See <a href="/guides/explore-connectors" style={linkStyle}>Managing Connectors</a>.
            {authConfigGuides.length > 0 && <>
              <Columns cols={2}>
                {authConfigGuides.map(auth => <Card title="Auth Config" href={`/${auth.setupGuide}`} icon={connector.icon} horizontal>
                    {connector.name} - {auth.label}
                  </Card>)}
              </Columns> 
              </>}
          </>
        </Step>
        <Step title="Link an Account">
          <>
            Connect an account using <a href="/guides/embedding-stackone-hub" style={linkStyle}>StackOne Hub</a> or <a href="/guides/auth-link" style={linkStyle}>Auth Link</a>.
            {linkAccountGuides.length > 0 && <>
                <Columns cols={2}>
                  {linkAccountGuides.map(auth => <Card title="Link Account" href={`/${auth.configGuide}`} icon={connector.icon} horizontal>
                      {connector.name} - {auth.label}
                    </Card>)}
                </Columns>
              </>}
          </>
        </Step>
        <Step title="Use Actions">
          <>
            Invoke actions using one of the methods below:
            <ul style={{
    marginTop: '8px',
    paddingLeft: '20px'
  }}>
              <li style={{
    marginBottom: '4px'
  }}><a href="/mcp/quickstart" style={linkStyle}>MCP</a> – Model Context Protocol for AI assistants</li>
              <li style={{
    marginBottom: '4px'
  }}><a href="/a2a/quickstart" style={linkStyle}>A2A</a> – Agent-to-Agent protocol</li>
              <li style={{
    marginBottom: '4px'
  }}><a href="/agents/typescript/introduction" style={linkStyle}>AI Toolset (TypeScript)</a> – TypeScript SDK for AI agents</li>
              <li style={{
    marginBottom: '4px'
  }}><a href="/agents/python/introduction" style={linkStyle}>AI Toolset (Python)</a> – Python SDK for AI agents</li>
              <li style={{
    marginBottom: '4px'
  }}><a href="/platform/api-reference/actions/make-an-rpc-call-to-an-action" style={linkStyle}>Actions RPC</a> – Direct API calls</li>
              <li style={{
    marginBottom: '4px'
  }}><a href="/guides/playground" style={linkStyle}>Playground</a> – Test actions in the dashboard</li>
            </ul>
          </>
        </Step>
      </Steps>
    </div>;
};

export const ActionsLibrary = ({search, setSearch, filtered, sharedStyles = {}, KeyCell, ScopesCell, availableScopes, selectedScopes, setSelectedScopes}) => {
  const libraryStyles = {
    section: {
      marginTop: '24px',
      marginBottom: '16px'
    },
    sectionTitle: {
      fontSize: '18px',
      fontWeight: '600',
      marginBottom: '12px'
    },
    filterRow: {
      display: 'flex',
      gap: '12px',
      marginBottom: '12px',
      alignItems: 'stretch'
    },
    count: {
      fontSize: '12px',
      marginBottom: '8px'
    },
    tableContainer: {
      maxHeight: '500px',
      overflowY: 'auto',
      overflowX: 'auto',
      borderRadius: '8px',
      fontSize: '13px'
    },
    gridTable: {
      display: 'grid',
      minWidth: '600px',
      gridTemplateColumns: '200px 1fr'
    },
    gridTableWithScopes: {
      gridTemplateColumns: '200px 1fr 150px'
    },
    gridHeader: {
      display: 'contents'
    },
    gridHeaderCell: {
      position: 'sticky',
      top: 0,
      padding: '10px 12px',
      fontWeight: '600',
      zIndex: 1
    },
    gridRow: {
      display: 'contents'
    },
    gridCellAction: {
      padding: '10px 12px',
      fontWeight: '500'
    },
    gridCellKey: {
      padding: '10px 12px'
    },
    gridCellScopes: {
      padding: '10px 12px',
      fontSize: '12px'
    },
    gridCellDescription: {
      padding: '10px 12px'
    }
  };
  const styles = {
    ...libraryStyles,
    ...sharedStyles
  };
  const safeAvailableScopes = Array.isArray(availableScopes) ? availableScopes : [];
  const safeSelectedScopes = Array.isArray(selectedScopes) ? selectedScopes : [];
  const hasScopesColumn = safeAvailableScopes.length > 0;
  const hasScopeFilter = safeAvailableScopes.length > 0 && typeof setSelectedScopes === 'function';
  const ScopesCellComponent = ScopesCell || (() => null);
  return <div style={styles.section}>
      <div style={styles.sectionTitle}>Actions</div>
      <div style={styles.filterRow}>
        <SearchBar value={search} onChange={setSearch} placeholder="Search actions" />
        {hasScopeFilter && <FilterDropdown label="Scopes" items={safeAvailableScopes} selectedItems={safeSelectedScopes} onChange={setSelectedScopes} searchPlaceholder="Search scopes..." emptyLabel="No scopes found" />}
      </div>
      <div style={styles.count} className="actions-library-count">
        {filtered.length === 0 ? '0 actions found' : `${filtered.length} action${filtered.length !== 1 ? 's' : ''}`}
      </div>
      {}
      <div className="not-prose actions-library-table-container" style={styles.tableContainer}>
        <div style={{
    ...hasScopesColumn ? {
      ...styles.gridTable,
      ...styles.gridTableWithScopes
    } : styles.gridTable
  }}>
          {}
          <div style={styles.gridHeader}>
            <div style={styles.gridHeaderCell} className="actions-library-grid-header-cell">Action</div>
            <div style={styles.gridHeaderCell} className="actions-library-grid-header-cell">Description</div>
            {hasScopesColumn && <div style={styles.gridHeaderCell} className="actions-library-grid-header-cell">Required scopes</div>}
          </div>
          {}
          {filtered.map(a => <div key={a.id} style={styles.gridRow}>
              <div style={styles.gridCellAction} className="actions-library-grid-cell">
                <div>{a.label}</div>
                <div style={{
    marginTop: '4px'
  }}>
                  <KeyCell id={a.id} />
                </div>
              </div>
              <div style={styles.gridCellDescription} className="actions-library-grid-cell actions-library-grid-cell--description">{a.description}</div>
              {hasScopesColumn && <div style={styles.gridCellScopes} className="actions-library-grid-cell actions-library-grid-cell--scopes">
                  <ScopesCellComponent scopes={a.requiredScopes} actionId={a.id} />
                </div>}
            </div>)}
        </div>
      </div>
    </div>;
};

export const FilterDropdown = ({label, items, selectedItems, onChange, searchPlaceholder = 'Search...', emptyLabel = 'No items found', formatLabel}) => {
  const [dropdownOpen, setDropdownOpen] = React.useState(false);
  const [search, setSearch] = React.useState('');
  const [hoveredItem, setHoveredItem] = React.useState(null);
  const dropdownRef = React.useRef(null);
  const styles = {
    dropdownContainer: {
      position: 'relative'
    },
    dropdownTrigger: {
      display: 'flex',
      alignItems: 'center',
      gap: '8px',
      padding: '10px 14px',
      borderRadius: '8px',
      fontSize: '14px',
      cursor: 'pointer',
      whiteSpace: 'nowrap',
      minWidth: '160px',
      justifyContent: 'space-between'
    },
    dropdownMenu: {
      position: 'absolute',
      top: '100%',
      right: 0,
      marginTop: '4px',
      borderRadius: '8px',
      zIndex: 50,
      minWidth: '220px',
      maxHeight: '320px',
      display: 'flex',
      flexDirection: 'column'
    },
    dropdownHeader: {
      padding: '8px 12px'
    },
    selectActions: {
      display: 'flex',
      alignItems: 'center',
      gap: '8px',
      marginTop: '6px',
      fontSize: '12px'
    },
    selectActionBtn: {
      background: 'none',
      border: 'none',
      cursor: 'pointer',
      padding: '2px 4px',
      fontSize: '12px'
    },
    dropdownSearchInput: {
      width: '100%',
      padding: '8px 10px',
      borderRadius: '6px',
      fontSize: '13px',
      outline: 'none'
    },
    dropdownList: {
      overflowY: 'auto',
      maxHeight: '220px',
      padding: '4px 0'
    },
    dropdownItem: {
      display: 'flex',
      alignItems: 'center',
      gap: '10px',
      padding: '8px 12px',
      cursor: 'pointer',
      fontSize: '13px',
      transition: 'background-color 0.1s'
    },
    checkbox: {
      width: '16px',
      height: '16px',
      borderRadius: '4px',
      display: 'flex',
      alignItems: 'center',
      justifyContent: 'center',
      flexShrink: 0
    },
    checkmark: {
      color: 'white',
      fontSize: '10px',
      fontWeight: 'bold'
    },
    dropdownFooter: {
      padding: '8px 12px',
      display: 'flex',
      justifyContent: 'space-between',
      alignItems: 'center'
    },
    clearButton: {
      fontSize: '12px',
      cursor: 'pointer',
      padding: '4px 8px',
      borderRadius: '4px',
      border: 'none',
      background: 'none'
    },
    badge: {
      fontSize: '11px',
      fontWeight: '600',
      padding: '2px 6px',
      borderRadius: '10px',
      marginLeft: '4px'
    },
    chevron: {
      fontSize: '10px',
      transition: 'transform 0.15s'
    },
    noResults: {
      padding: '12px',
      textAlign: 'center',
      fontSize: '13px'
    }
  };
  const safeSelected = Array.isArray(selectedItems) ? selectedItems : [];
  const formatItemLabel = item => {
    if (typeof formatLabel === 'function') {
      return formatLabel(item);
    }
    return item;
  };
  const filteredItems = React.useMemo(() => {
    if (!search) return items;
    const searchLower = search.toLowerCase();
    return items.filter(item => {
      const labelText = formatItemLabel(item);
      return labelText.toLowerCase().includes(searchLower);
    });
  }, [items, search, formatLabel]);
  const isSelected = item => safeSelected.includes(item);
  const toggleItem = item => {
    const next = isSelected(item) ? safeSelected.filter(v => v !== item) : [...safeSelected, item];
    onChange(next);
  };
  const clearFilters = () => {
    onChange([]);
  };
  const selectAll = () => {
    onChange(items);
  };
  React.useEffect(() => {
    const handleClickOutside = e => {
      if (dropdownRef.current && !dropdownRef.current.contains(e.target)) {
        setDropdownOpen(false);
        setSearch('');
        setHoveredItem(null);
      }
    };
    document.addEventListener('mousedown', handleClickOutside);
    return () => document.removeEventListener('mousedown', handleClickOutside);
  }, []);
  return <div style={styles.dropdownContainer} ref={dropdownRef}>
      <button type="button" onClick={() => setDropdownOpen(!dropdownOpen)} style={styles.dropdownTrigger} className={`filter-dropdown__trigger${safeSelected.length > 0 ? ' filter-dropdown__trigger--active' : ''}`}>
        <span>
          {label}
          {safeSelected.length > 0 && <span style={styles.badge} className="filter-dropdown__badge">{safeSelected.length}</span>}
        </span>
        <span style={{
    ...styles.chevron,
    transform: dropdownOpen ? 'rotate(180deg)' : 'rotate(0deg)'
  }} className="filter-dropdown__chevron">
          ▼
        </span>
      </button>
      {dropdownOpen && <div style={styles.dropdownMenu} className="filter-dropdown__menu">
          <div style={styles.dropdownHeader} className="filter-dropdown__header">
            <input type="text" placeholder={searchPlaceholder} value={search} onChange={e => setSearch(e.target.value)} style={styles.dropdownSearchInput} className="filter-dropdown__search" autoFocus />
            <div style={styles.selectActions}>
              <button type="button" onClick={selectAll} style={styles.selectActionBtn} className="filter-dropdown__action-btn">
                Select all
              </button>
              <span className="filter-dropdown__separator">|</span>
              <button type="button" onClick={clearFilters} style={styles.selectActionBtn} className="filter-dropdown__action-btn">
                Clear
              </button>
            </div>
          </div>
          <div style={styles.dropdownList}>
            {filteredItems.length === 0 ? <div style={styles.noResults} className="filter-dropdown__no-results">{emptyLabel}</div> : filteredItems.map(item => {
    const itemClass = ['filter-dropdown__item', hoveredItem === item ? 'filter-dropdown__item--hovered' : '', isSelected(item) ? 'filter-dropdown__item--selected' : ''].filter(Boolean).join(' ');
    const checkboxClass = `filter-dropdown__checkbox${isSelected(item) ? ' filter-dropdown__checkbox--checked' : ''}`;
    return <div key={item} onClick={() => toggleItem(item)} onMouseEnter={() => setHoveredItem(item)} onMouseLeave={() => setHoveredItem(null)} style={styles.dropdownItem} className={itemClass}>
                    <div style={styles.checkbox} className={checkboxClass}>
                      {isSelected(item) && <span style={styles.checkmark}>✓</span>}
                    </div>
                    <span>{formatItemLabel(item)}</span>
                  </div>;
  })}
          </div>
        </div>}
    </div>;
};

export const SearchBar = ({value, onChange, placeholder = 'Search...'}) => {
  const baseStyle = {
    padding: '10px 14px',
    borderRadius: '8px',
    fontSize: '14px',
    outline: 'none',
    flex: 1,
    minWidth: 0
  };
  return <input type="text" placeholder={placeholder} value={value} onChange={e => onChange(e.target.value)} style={baseStyle} className="search-bar" />;
};

export const ConnectorPage = ({connector}) => {
  const styles = {
    header: {
      display: 'flex',
      alignItems: 'center',
      gap: '12px',
      marginBottom: '24px'
    },
    tagsRow: {
      display: 'flex',
      flexWrap: 'wrap',
      gap: '6px',
      marginTop: '8px'
    },
    releaseTag: {
      display: 'inline-block',
      padding: '2px 8px',
      borderRadius: '4px',
      fontSize: '11px',
      fontWeight: '500'
    },
    categoryTag: {
      display: 'inline-block',
      padding: '2px 8px',
      borderRadius: '4px',
      fontSize: '11px',
      fontWeight: '500'
    },
    icon: {
      width: '48px',
      height: '48px',
      borderRadius: '10px',
      padding: '2px'
    },
    title: {
      fontSize: '24px',
      fontWeight: '600'
    },
    subtitle: {
      fontSize: '14px'
    },
    authDescription: {
      fontSize: '14px',
      marginTop: 0
    },
    sectionTitle: {
      fontSize: '18px',
      fontWeight: '600',
      marginBottom: '12px'
    },
    codeWrapper: {
      position: 'relative',
      display: 'inline-flex',
      alignItems: 'center',
      maxWidth: '100%',
      cursor: 'pointer',
      overflowX: 'auto',
      overflowY: 'hidden',
      msOverflowStyle: 'none',
      scrollbarWidth: 'none'
    },
    code: {
      padding: '4px 8px',
      borderRadius: '4px',
      fontSize: '11px',
      display: 'inline-block',
      whiteSpace: 'nowrap',
      transition: 'background-color 0.15s'
    },
    tooltip: {
      position: 'absolute',
      top: '100%',
      left: '50%',
      transform: 'translateX(-50%)',
      padding: '6px 10px',
      borderRadius: '6px',
      fontSize: '11px',
      whiteSpace: 'nowrap',
      marginTop: '6px',
      zIndex: 50,
      maxWidth: '300px',
      wordBreak: 'break-all'
    },
    tooltipArrow: {
      position: 'absolute',
      bottom: '100%',
      left: '50%',
      transform: 'translateX(-50%)',
      borderWidth: '5px',
      borderStyle: 'solid',
      zIndex: 50
    }
  };
  const [search, setSearch] = React.useState('');
  const [copiedId, setCopiedId] = React.useState(null);
  const [selectedScopes, setSelectedScopes] = React.useState([]);
  const availableScopes = React.useMemo(() => {
    const set = new Set();
    connector.actions.forEach(a => {
      if (Array.isArray(a.requiredScopes)) {
        a.requiredScopes.forEach(s => {
          if (s) set.add(s);
        });
      }
    });
    return Array.from(set).sort();
  }, [connector.actions]);
  const filtered = React.useMemo(() => {
    const searchLower = search.toLowerCase();
    return connector.actions.filter(a => {
      const matchesSearch = a.label.toLowerCase().includes(searchLower) || a.description.toLowerCase().includes(searchLower) || a.id.toLowerCase().includes(searchLower);
      if (!matchesSearch) return false;
      if (selectedScopes.length === 0) return true;
      const scopes = Array.isArray(a.requiredScopes) ? a.requiredScopes : [];
      if (scopes.length === 0) return false;
      return selectedScopes.some(scope => scopes.includes(scope));
    });
  }, [connector.actions, search, selectedScopes]);
  const handleImageError = e => {
    e.target.style.display = 'none';
  };
  const formatCategoryLabel = cat => {
    const acronyms = ['ai', 'ats', 'crm', 'hris', 'iam', 'lms'];
    if (acronyms.includes(cat.toLowerCase())) {
      return cat.toUpperCase();
    }
    return cat.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
  };
  const ReleaseTag = () => {
    if (!connector.releaseStage || connector.releaseStage === 'ga') return null;
    const variantClass = connector.releaseStage === 'beta' ? 'connector-page-tag-beta' : 'connector-page-tag-preview';
    return <span style={styles.releaseTag} className={variantClass}>
        {connector.releaseStage.charAt(0).toUpperCase() + connector.releaseStage.slice(1)}
      </span>;
  };
  const CategoryTags = () => {
    if (!connector.categories || connector.categories.length === 0) return null;
    return <>
        {connector.categories.map(cat => <span key={cat} style={styles.categoryTag} className="connector-page-category-tag">
            {formatCategoryLabel(cat)}
          </span>)}
      </>;
  };
  const copyToClipboard = async (text, id) => {
    try {
      await navigator.clipboard.writeText(text);
      setCopiedId(id);
      setTimeout(() => setCopiedId(null), 1500);
    } catch (err) {
      console.error('Failed to copy:', err);
    }
  };
  const CopyChip = ({text, copyId}) => {
    const [isHovered, setIsHovered] = React.useState(false);
    const isCopied = copiedId === copyId;
    if (!text) {
      return null;
    }
    const codeClassName = `connector-page-code${isCopied ? ' connector-page-code--copied' : ''}`;
    return <div style={styles.codeWrapper} onMouseEnter={() => setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} onClick={() => copyToClipboard(text, copyId)} title="">
        {(isHovered || isCopied) && <div style={styles.tooltip} className="connector-page-tooltip">
            {isCopied ? '✓ Copied!' : 'Click to copy'}
            <div style={styles.tooltipArrow} className="connector-page-tooltip-arrow" />
          </div>}
        <code style={styles.code} className={codeClassName}>
          {text}
        </code>
      </div>;
  };
  const KeyCell = ({id}) => <CopyChip text={id} copyId={id} />;
  const ScopesCell = ({scopes, actionId}) => {
    const scopeList = Array.isArray(scopes) ? scopes.filter(Boolean) : [];
    if (scopeList.length === 0) return null;
    return <div style={{
      display: 'flex',
      flexWrap: 'wrap',
      gap: '6px'
    }}>
        {scopeList.map(scope => <CopyChip key={scope} text={scope} copyId={`scopes:${actionId}:${scope}`} />)}
      </div>;
  };
  return <div>
      {}
      <div style={styles.header}>
        <img src={connector.icon} alt={connector.name} style={styles.icon} className="connector-page-icon" onError={handleImageError} />
        <div>
          <div style={styles.title}>{connector.name}</div>
          <div style={styles.subtitle} className="connector-page-subtitle">
            {connector.actions.length} actions · {connector.authentication.length} auth method{connector.authentication.length !== 1 ? 's' : ''}
          </div>
          {connector.releaseStage && connector.releaseStage !== 'ga' || connector.categories && connector.categories.length > 0 ? <div style={styles.tagsRow}>
              <ReleaseTag />
              <CategoryTags />
            </div> : null}
        </div>
      </div>

      {}
      <div style={styles.sectionTitle}>Authentication</div>
      <Columns cols={2}>        
        {connector.authentication.length > 0 ? connector.authentication.map(auth => {
    const authLabel = auth?.label || '';
    const authDescription = auth?.description;
    const configGuide = auth?.configGuide;
    const setupGuide = auth?.setupGuide;
    const hasConfigGuide = !!configGuide;
    const hasSetupGuide = !!setupGuide;
    const hasAnyGuide = hasConfigGuide || hasSetupGuide;
    return <Card key={authLabel} title={authLabel}>
                {authDescription && <p style={{
      ...styles.authDescription,
      marginBottom: hasAnyGuide ? '8px' : 0
    }} className="connector-page-auth-description">
                    {authDescription}
                  </p>}
                {hasAnyGuide && <span style={{
      fontSize: '14px'
    }}>
                    Guides: {hasSetupGuide && <a href={`/${setupGuide}`} style={{
      textDecoration: 'none'
    }}>Auth Config</a>}
                    {hasConfigGuide && hasSetupGuide && ', '}
                    {hasConfigGuide && <a href={`/${configGuide}`} style={{
      textDecoration: 'none'
    }}>Link Account</a>}
                  </span>}
              </Card>;
  }) : <>
            Contact StackOne for authentication details.
          </>}
      </Columns>

      <ActionsLibrary search={search} setSearch={setSearch} filtered={filtered} sharedStyles={{
    sectionTitle: styles.sectionTitle
  }} KeyCell={KeyCell} ScopesCell={ScopesCell} availableScopes={availableScopes} selectedScopes={selectedScopes} setSelectedScopes={setSelectedScopes} />

      <GettingStarted connector={connector} />

      {connector.documentation?.references?.length > 0 && <>
          <div style={styles.sectionTitle}>References</div>
          <Columns cols={2}>
            {connector.documentation.references.map(ref => {
    let safeHref;
    try {
      const parsed = new URL(ref.url);
      safeHref = parsed.protocol === 'http:' || parsed.protocol === 'https:' ? ref.url : undefined;
    } catch {
      safeHref = undefined;
    }
    return <Card key={`${ref.title}-${ref.url}`} title={ref.title} href={safeHref}>
                  {ref.description}
                </Card>;
  })}
          </Columns>
        </>}

    </div>;
};

export const connector = {
  "key": "jobadder",
  "name": "JobAdder",
  "icon": "https://stackone-logos.com/api/jobadder/filled/png",
  "authentication": [{
    "label": "OAuth 2.0",
    "description": "OAuth 2.0 authentication for JobAdder API. Requires access to the JobAdder Developer Portal to register an application.",
    "configGuide": "connectors/jobadder/guides/link-account/oauth-2-0",
    "setupGuide": "connectors/jobadder/guides/auth-config/oauth-2-0"
  }],
  "actions": [{
    "id": "jobadder_list_candidate_activities",
    "label": "List Candidate Activities",
    "description": "Find all candidate activities across the system",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_get_candidate_activities",
    "label": "Get Candidate Activities",
    "description": "Get activities for a specific candidate",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_add_candidate_activity",
    "label": "Add Candidate Activity",
    "description": "Add a candidate activity",
    "requiredScopes": ["write", "write_candidate"]
  }, {
    "id": "jobadder_get_candidate_activity",
    "label": "Get Candidate Activity",
    "description": "Get a specific activity for a candidate",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_candidate_activity_settings",
    "label": "List Candidate Activity Settings",
    "description": "Get all candidate activity settings definitions",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_get_candidate_activity_setting",
    "label": "Get Candidate Activity Setting",
    "description": "Get a specific candidate activity setting",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_application_activities",
    "label": "List Application Activities",
    "description": "Find all application activities across the system",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_get_application_activities",
    "label": "Get Application Activities",
    "description": "Get activities for a specific application",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_add_application_activity",
    "label": "Add Application Activity",
    "description": "Add a job application activity",
    "requiredScopes": ["write", "write_jobapplication"]
  }, {
    "id": "jobadder_get_application_activity",
    "label": "Get Application Activity",
    "description": "Get a specific activity for an application",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_list_application_activity_settings",
    "label": "List Application Activity Settings",
    "description": "Get all application activity settings definitions",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_get_application_activity_setting",
    "label": "Get Application Activity Setting",
    "description": "Get a specific application activity setting",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_list_job_activities",
    "label": "List Job Activities",
    "description": "Find all job activities across the system",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_get_job_activities",
    "label": "Get Job Activities",
    "description": "Get activities for a specific job",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_add_job_activity",
    "label": "Add Job Activity",
    "description": "Add a job activity",
    "requiredScopes": ["write", "write_job"]
  }, {
    "id": "jobadder_get_job_activity",
    "label": "Get Job Activity",
    "description": "Get a specific activity for a job",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_list_job_activity_settings",
    "label": "List Job Activity Settings",
    "description": "Get all job activity settings definitions",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_get_job_activity_setting",
    "label": "Get Job Activity Setting",
    "description": "Get a specific job activity setting",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_list_placement_activities",
    "label": "List Placement Activities",
    "description": "Find all placement activities across the system",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_get_placement_activities",
    "label": "Get Placement Activities",
    "description": "Get activities for a specific placement",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_add_placement_activity",
    "label": "Add Placement Activity",
    "description": "Add a placement activity",
    "requiredScopes": ["write", "write_placement"]
  }, {
    "id": "jobadder_get_placement_activity",
    "label": "Get Placement Activity",
    "description": "Get a specific activity for a placement",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_list_placement_activity_settings",
    "label": "List Placement Activity Settings",
    "description": "Get all placement activity settings definitions",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_get_placement_activity_setting",
    "label": "Get Placement Activity Setting",
    "description": "Get a specific placement activity setting",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_list_company_activities",
    "label": "List Company Activities",
    "description": "Find all company activities across the system",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_get_company_activities",
    "label": "Get Company Activities",
    "description": "Get activities for a specific company",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_add_company_activity",
    "label": "Add Company Activity",
    "description": "Add a company activity",
    "requiredScopes": ["write", "write_company"]
  }, {
    "id": "jobadder_get_company_activity",
    "label": "Get Company Activity",
    "description": "Get a specific activity for a company",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_list_company_activity_settings",
    "label": "List Company Activity Settings",
    "description": "Get all company activity settings definitions",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_get_company_activity_setting",
    "label": "Get Company Activity Setting",
    "description": "Get a specific company activity setting",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_list_contact_activities",
    "label": "List Contact Activities",
    "description": "Find all contact activities across the system",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_get_contact_activities",
    "label": "Get Contact Activities",
    "description": "Get activities for a specific contact",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_add_contact_activity",
    "label": "Add Contact Activity",
    "description": "Add a contact activity",
    "requiredScopes": ["write", "write_company"]
  }, {
    "id": "jobadder_get_contact_activity",
    "label": "Get Contact Activity",
    "description": "Get a specific activity for a contact",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_list_contact_activity_settings",
    "label": "List Contact Activity Settings",
    "description": "Get all contact activity settings definitions",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_get_contact_activity_setting",
    "label": "Get Contact Activity Setting",
    "description": "Get a specific contact activity setting",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_list_candidates",
    "label": "List Candidates",
    "description": "Find candidates in JobAdder",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_get_candidate",
    "label": "Get Candidate",
    "description": "Get a specific candidate by ID",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_add_candidate",
    "label": "Add A Candidate",
    "description": "Add a new candidate to JobAdder",
    "requiredScopes": ["write", "write_candidate"]
  }, {
    "id": "jobadder_update_candidate",
    "label": "Update Candidate",
    "description": "Update an existing candidate",
    "requiredScopes": ["write", "write_candidate"]
  }, {
    "id": "jobadder_set_candidate_status",
    "label": "Set A Candidate Status",
    "description": "Set a candidate's status with optional note",
    "requiredScopes": ["write", "write_candidate"]
  }, {
    "id": "jobadder_get_candidate_notes",
    "label": "Get Candidate Notes",
    "description": "Get notes for a candidate",
    "requiredScopes": ["read", "read_note", "read_candidate_note"]
  }, {
    "id": "jobadder_add_candidate_note",
    "label": "Add Candidate Note",
    "description": "Add a note",
    "requiredScopes": ["write", "write_note", "write_candidate_note"]
  }, {
    "id": "jobadder_get_candidate_attachments",
    "label": "Get Candidate Attachments",
    "description": "Find attachments for a candidate",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_get_candidate_applications",
    "label": "Get Candidate Applications",
    "description": "Get job applications for a candidate",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_get_candidate_placements",
    "label": "Get Candidate Placements",
    "description": "Get all placements for a candidate",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_get_candidate_skills",
    "label": "Get Candidate Skills",
    "description": "Get skills for a candidate",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_candidate_status_list",
    "label": "List Candidate Statuses",
    "description": "Get all candidate status definitions",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_candidate_sources",
    "label": "List Candidate Sources",
    "description": "Get all candidate sources",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_candidate_custom_fields",
    "label": "List Candidate Custom Fields",
    "description": "Get all candidate custom field definitions",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_deleted_candidates",
    "label": "List Deleted Candidates",
    "description": "Get recently deleted candidates",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_remove_candidate_privacy",
    "label": "Remove Candidate (Privacy Request)",
    "description": "Remove a candidate at their request",
    "requiredScopes": ["write", "write_candidate"]
  }, {
    "id": "jobadder_list_applications",
    "label": "List Applications",
    "description": "Find job applications in JobAdder",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_get_application",
    "label": "Get Application",
    "description": "Get a specific job application by ID",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_update_application",
    "label": "Update Application",
    "description": "Update a job application",
    "requiredScopes": ["write", "write_jobapplication"]
  }, {
    "id": "jobadder_set_application_status",
    "label": "Set A Job Application Status",
    "description": "Set a job application's status",
    "requiredScopes": ["write", "write_jobapplication"]
  }, {
    "id": "jobadder_get_application_notes",
    "label": "Get Application Notes",
    "description": "Get notes for a job application",
    "requiredScopes": ["read", "read_note", "read_jobapplication_note"]
  }, {
    "id": "jobadder_add_application_note",
    "label": "Add Application Note",
    "description": "Add a note",
    "requiredScopes": ["write", "write_note", "write_jobapplication_note"]
  }, {
    "id": "jobadder_get_application_attachments",
    "label": "Get Application Attachments",
    "description": "Find attachments for a job application",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_get_application_interviews",
    "label": "Get Application Interviews",
    "description": "Get all interviews for a job application",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_create_external_interview",
    "label": "Create External Interview",
    "description": "Schedule an external interview for a job application",
    "requiredScopes": ["write", "write_interview"]
  }, {
    "id": "jobadder_create_internal_interview",
    "label": "Create Internal Interview",
    "description": "Schedule an internal interview for a job application",
    "requiredScopes": ["write", "write_interview"]
  }, {
    "id": "jobadder_list_application_status_list",
    "label": "List Application Statuses",
    "description": "Get all application status definitions",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_list_application_workflows",
    "label": "List Application Workflows",
    "description": "Get the job application workflows",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_list_application_custom_fields",
    "label": "List Application Custom Fields",
    "description": "Get all application custom field definitions",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_list_deleted_applications",
    "label": "List Deleted Applications",
    "description": "Get recently deleted applications",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_list_all_candidate_attachments",
    "label": "List All Candidate Attachments",
    "description": "Find all candidate attachments across the system",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_candidate_attachments",
    "label": "List Candidate Attachments",
    "description": "Get attachments for a specific candidate",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_get_candidate_attachment",
    "label": "Get Candidate Attachment",
    "description": "Get a specific attachment from a candidate",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_upload_candidate_attachment",
    "label": "Upload Candidate Attachment",
    "description": "Add an attachment to a candidate",
    "requiredScopes": ["write", "write_candidate"]
  }, {
    "id": "jobadder_update_candidate_attachment",
    "label": "Update Candidate Attachment Details",
    "description": "Update attachment metadata on a candidate",
    "requiredScopes": ["write", "write_candidate"]
  }, {
    "id": "jobadder_list_candidate_attachment_categories",
    "label": "List Candidate Attachment Categories",
    "description": "Get all attachment category definitions for candidates",
    "requiredScopes": ["read", "read_candidate"]
  }, {
    "id": "jobadder_list_application_attachments",
    "label": "List Application Attachments",
    "description": "Get attachments for a specific application",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_get_application_attachment",
    "label": "Get Application Attachment",
    "description": "Get a specific attachment from an application",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_upload_application_attachment",
    "label": "Upload Application Attachment",
    "description": "Add an attachment to an application",
    "requiredScopes": ["write", "write_jobapplication"]
  }, {
    "id": "jobadder_update_application_attachment",
    "label": "Update Application Attachment Details",
    "description": "Update attachment metadata on an application",
    "requiredScopes": ["write", "write_jobapplication"]
  }, {
    "id": "jobadder_list_job_attachments",
    "label": "List Job Attachments",
    "description": "Get attachments for a specific job",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_get_job_attachment",
    "label": "Get Job Attachment",
    "description": "Get a specific attachment from a job",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_upload_job_attachment",
    "label": "Upload Job Attachment",
    "description": "Add an attachment to a job",
    "requiredScopes": ["write", "write_job"]
  }, {
    "id": "jobadder_update_job_attachment",
    "label": "Update Job Attachment Details",
    "description": "Update attachment metadata on a job",
    "requiredScopes": ["write", "write_job"]
  }, {
    "id": "jobadder_list_job_attachment_categories",
    "label": "List Job Attachment Categories",
    "description": "Get all attachment category definitions for jobs",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_list_placement_attachments",
    "label": "List Placement Attachments",
    "description": "Get attachments for a specific placement",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_get_placement_attachment",
    "label": "Get Placement Attachment",
    "description": "Get a specific attachment from a placement",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_upload_placement_attachment",
    "label": "Upload Placement Attachment",
    "description": "Add an attachment to a placement",
    "requiredScopes": ["write", "write_placement"]
  }, {
    "id": "jobadder_update_placement_attachment",
    "label": "Update Placement Attachment Details",
    "description": "Update attachment metadata on a placement",
    "requiredScopes": ["write", "write_placement"]
  }, {
    "id": "jobadder_list_placement_attachment_categories",
    "label": "List Placement Attachment Categories",
    "description": "Get all attachment category definitions for placements",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_list_company_attachments",
    "label": "List Company Attachments",
    "description": "Get attachments for a specific company",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_get_company_attachment",
    "label": "Get Company Attachment",
    "description": "Get a specific attachment from a company",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_upload_company_attachment",
    "label": "Upload Company Attachment",
    "description": "Add an attachment to a company",
    "requiredScopes": ["write", "write_company"]
  }, {
    "id": "jobadder_update_company_attachment",
    "label": "Update Company Attachment Details",
    "description": "Update attachment metadata on a company",
    "requiredScopes": ["write", "write_company"]
  }, {
    "id": "jobadder_list_company_attachment_categories",
    "label": "List Company Attachment Categories",
    "description": "Get all attachment category definitions for companies",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_list_contact_attachments",
    "label": "List Contact Attachments",
    "description": "Get attachments for a specific contact",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_get_contact_attachment",
    "label": "Get Contact Attachment",
    "description": "Get a specific attachment from a contact",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_upload_contact_attachment",
    "label": "Upload Contact Attachment",
    "description": "Add an attachment to a contact",
    "requiredScopes": ["write", "write_contact"]
  }, {
    "id": "jobadder_update_contact_attachment",
    "label": "Update Contact Attachment Details",
    "description": "Update attachment metadata on a contact",
    "requiredScopes": ["write", "write_contact"]
  }, {
    "id": "jobadder_list_contact_attachment_categories",
    "label": "List Contact Attachment Categories",
    "description": "Get all attachment category definitions for contacts",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_list_partner_actions",
    "label": "List Partner Actions",
    "description": "Find partner actions in JobAdder",
    "requiredScopes": ["partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action",
    "label": "Get Partner Action",
    "description": "Get a specific partner action by ID",
    "requiredScopes": ["partner_ui_action"]
  }, {
    "id": "jobadder_create_partner_action",
    "label": "Create Partner Action",
    "description": "Add a new partner action",
    "requiredScopes": ["partner_ui_action"]
  }, {
    "id": "jobadder_update_partner_action",
    "label": "Update Partner Action",
    "description": "Update an existing partner action",
    "requiredScopes": ["partner_ui_action"]
  }, {
    "id": "jobadder_delete_partner_action",
    "label": "Delete Partner Action",
    "description": "Delete a partner action",
    "requiredScopes": ["partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action_applications",
    "label": "Get Partner Action Applications",
    "description": "Find applications submitted to a partner action",
    "requiredScopes": ["read", "read_jobapplication", "partner_ui_action"]
  }, {
    "id": "jobadder_complete_partner_action_application",
    "label": "Complete Partner Action Application",
    "description": "Complete an application partner action",
    "requiredScopes": ["write", "write_jobapplication", "partner_ui_action"]
  }, {
    "id": "jobadder_progress_partner_action_application",
    "label": "Progress Partner Action Application",
    "description": "Update progress of an application partner action",
    "requiredScopes": ["write", "write_jobapplication", "partner_ui_action"]
  }, {
    "id": "jobadder_reject_partner_action_application",
    "label": "Reject Partner Action Application",
    "description": "Reject an application partner action",
    "requiredScopes": ["write", "write_jobapplication", "partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action_candidates",
    "label": "Get Partner Action Candidates",
    "description": "Find candidates submitted to a partner action",
    "requiredScopes": ["read", "read_candidate", "partner_ui_action"]
  }, {
    "id": "jobadder_complete_partner_action_candidate",
    "label": "Complete Partner Action Candidate",
    "description": "Complete a candidate partner action",
    "requiredScopes": ["write", "write_candidate", "partner_ui_action"]
  }, {
    "id": "jobadder_progress_partner_action_candidate",
    "label": "Progress Partner Action Candidate",
    "description": "Update progress of a candidate partner action",
    "requiredScopes": ["write", "write_candidate", "partner_ui_action"]
  }, {
    "id": "jobadder_reject_partner_action_candidate",
    "label": "Reject Partner Action Candidate",
    "description": "Reject a candidate partner action",
    "requiredScopes": ["write", "write_candidate", "partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action_companies",
    "label": "Get Partner Action Companies",
    "description": "Find companies submitted to a partner action",
    "requiredScopes": ["read", "read_company", "partner_ui_action"]
  }, {
    "id": "jobadder_complete_partner_action_company",
    "label": "Complete Partner Action Company",
    "description": "Complete a company partner action",
    "requiredScopes": ["write", "write_company", "partner_ui_action"]
  }, {
    "id": "jobadder_progress_partner_action_company",
    "label": "Progress Partner Action Company",
    "description": "Update progress of a company partner action",
    "requiredScopes": ["write", "write_company", "partner_ui_action"]
  }, {
    "id": "jobadder_reject_partner_action_company",
    "label": "Reject Partner Action Company",
    "description": "Reject a company partner action",
    "requiredScopes": ["write", "write_company", "partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action_contacts",
    "label": "Get Partner Action Contacts",
    "description": "Find contacts submitted to a partner action",
    "requiredScopes": ["read", "read_contact", "partner_ui_action"]
  }, {
    "id": "jobadder_complete_partner_action_contact",
    "label": "Complete Partner Action Contact",
    "description": "Complete a contact partner action",
    "requiredScopes": ["write", "write_contact", "partner_ui_action"]
  }, {
    "id": "jobadder_progress_partner_action_contact",
    "label": "Progress Partner Action Contact",
    "description": "Update progress of a contact partner action",
    "requiredScopes": ["write", "write_contact", "partner_ui_action"]
  }, {
    "id": "jobadder_reject_partner_action_contact",
    "label": "Reject Partner Action Contact",
    "description": "Reject a contact partner action",
    "requiredScopes": ["write", "write_contact", "partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action_jobads",
    "label": "Get Partner Action Job Ads",
    "description": "Find job ads submitted to a partner action",
    "requiredScopes": ["read", "read_jobad", "partner_ui_action"]
  }, {
    "id": "jobadder_complete_partner_action_jobad",
    "label": "Complete Partner Action Job Ad",
    "description": "Complete a job ad partner action",
    "requiredScopes": ["write", "write_jobad", "partner_ui_action"]
  }, {
    "id": "jobadder_progress_partner_action_jobad",
    "label": "Progress Partner Action Job Ad",
    "description": "Update progress of a job ad partner action",
    "requiredScopes": ["write", "write_jobad", "partner_ui_action"]
  }, {
    "id": "jobadder_reject_partner_action_jobad",
    "label": "Reject Partner Action Job Ad",
    "description": "Reject a job ad partner action",
    "requiredScopes": ["write", "write_jobad", "partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action_jobs",
    "label": "Get Partner Action Jobs",
    "description": "Find jobs submitted to a partner action",
    "requiredScopes": ["read", "read_job", "partner_ui_action"]
  }, {
    "id": "jobadder_complete_partner_action_job",
    "label": "Complete Partner Action Job",
    "description": "Complete a job partner action",
    "requiredScopes": ["write", "write_job", "partner_ui_action"]
  }, {
    "id": "jobadder_progress_partner_action_job",
    "label": "Progress Partner Action Job",
    "description": "Update progress of a job partner action",
    "requiredScopes": ["write", "write_job", "partner_ui_action"]
  }, {
    "id": "jobadder_reject_partner_action_job",
    "label": "Reject Partner Action Job",
    "description": "Reject a job partner action",
    "requiredScopes": ["write", "write_job", "partner_ui_action"]
  }, {
    "id": "jobadder_get_partner_action_placements",
    "label": "Get Partner Action Placements",
    "description": "Find placements submitted to a partner action",
    "requiredScopes": ["read", "read_placement", "partner_ui_action"]
  }, {
    "id": "jobadder_complete_partner_action_placement",
    "label": "Complete Partner Action Placement",
    "description": "Complete a placement partner action",
    "requiredScopes": ["write", "write_placement", "partner_ui_action"]
  }, {
    "id": "jobadder_progress_partner_action_placement",
    "label": "Progress Partner Action Placement",
    "description": "Update progress of a placement partner action",
    "requiredScopes": ["write", "write_placement", "partner_ui_action"]
  }, {
    "id": "jobadder_reject_partner_action_placement",
    "label": "Reject Partner Action Placement",
    "description": "Reject a placement partner action",
    "requiredScopes": ["write", "write_placement", "partner_ui_action"]
  }, {
    "id": "jobadder_list_jobs",
    "label": "List Jobs",
    "description": "Find jobs in JobAdder",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_get_job",
    "label": "Get Job",
    "description": "Get a specific job by ID",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_add_job",
    "label": "Add A Job",
    "description": "Add a new job to JobAdder",
    "requiredScopes": ["write", "write_job"]
  }, {
    "id": "jobadder_update_job",
    "label": "Update Job",
    "description": "Update an existing job",
    "requiredScopes": ["write", "write_job"]
  }, {
    "id": "jobadder_set_job_status",
    "label": "Set Job Status",
    "description": "Set a job status",
    "requiredScopes": ["write", "write_job"]
  }, {
    "id": "jobadder_get_job_applications",
    "label": "Get Job Applications",
    "description": "Get applications for a job",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_add_candidate_to_job",
    "label": "Add Candidate To Job",
    "description": "Add candidates to a job",
    "requiredScopes": ["write", "write_jobapplication"]
  }, {
    "id": "jobadder_get_job_notes",
    "label": "Get Job Notes",
    "description": "Get notes for a job",
    "requiredScopes": ["read", "read_note", "read_job_note"]
  }, {
    "id": "jobadder_add_job_note",
    "label": "Add Job Note",
    "description": "Add a note",
    "requiredScopes": ["write", "write_note", "write_job_note"]
  }, {
    "id": "jobadder_list_job_status_list",
    "label": "List Job Statuses",
    "description": "Get all status definitions",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_list_job_custom_fields",
    "label": "List Job Custom Fields",
    "description": "Get all custom fields",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_list_deleted_jobs",
    "label": "List Deleted Jobs",
    "description": "Recently deleted jobs",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_list_companies",
    "label": "List Companies",
    "description": "Find companies in JobAdder",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_get_company",
    "label": "Get Company",
    "description": "Get a specific company by ID",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_add_company",
    "label": "Add A New Company",
    "description": "Add a new company to JobAdder",
    "requiredScopes": ["write", "write_company"]
  }, {
    "id": "jobadder_update_company",
    "label": "Update Company",
    "description": "Update an existing company",
    "requiredScopes": ["write", "write_company"]
  }, {
    "id": "jobadder_get_company_contacts",
    "label": "Get Company Contacts",
    "description": "Get contacts for a company",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_get_company_jobs",
    "label": "Get Company Jobs",
    "description": "Get all jobs for a company",
    "requiredScopes": ["read", "read_job"]
  }, {
    "id": "jobadder_list_company_status_list",
    "label": "List Company Statuses",
    "description": "Get a list of company status definitions",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_list_deleted_companies",
    "label": "List Deleted Companies",
    "description": "Recently deleted companies",
    "requiredScopes": ["read", "read_company"]
  }, {
    "id": "jobadder_list_contacts",
    "label": "List Contacts",
    "description": "Find contacts in JobAdder",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_get_contact",
    "label": "Get Contact",
    "description": "Get a specific contact by ID",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_add_contact",
    "label": "Add Contact",
    "description": "Add a new contact to JobAdder",
    "requiredScopes": ["write", "write_contact"]
  }, {
    "id": "jobadder_update_contact",
    "label": "Update Contact",
    "description": "Update an existing contact",
    "requiredScopes": ["write", "write_contact"]
  }, {
    "id": "jobadder_list_contact_status_list",
    "label": "List Contact Statuses",
    "description": "Get all contact status definitions",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_list_deleted_contacts",
    "label": "List Deleted Contacts",
    "description": "Get recently deleted contacts",
    "requiredScopes": ["read", "read_contact"]
  }, {
    "id": "jobadder_list_users",
    "label": "List Users",
    "description": "Find users in JobAdder",
    "requiredScopes": ["read", "read_user"]
  }, {
    "id": "jobadder_get_user",
    "label": "Get User",
    "description": "Get a specific user by ID",
    "requiredScopes": ["read", "read_user"]
  }, {
    "id": "jobadder_get_current_user",
    "label": "Get Current User",
    "description": "Get the current authenticated user",
    "requiredScopes": ["read", "read_user"]
  }, {
    "id": "jobadder_get_user_groups",
    "label": "Get User Groups",
    "description": "Get user groups for a specific user",
    "requiredScopes": ["read", "read_usergroup"]
  }, {
    "id": "jobadder_list_events",
    "label": "List Events",
    "description": "Find events in JobAdder",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_get_event",
    "label": "Get Event",
    "description": "Get a specific event by ID",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_create_event",
    "label": "Create Event",
    "description": "Create a new event",
    "requiredScopes": ["write", "write_events"]
  }, {
    "id": "jobadder_update_event",
    "label": "Update Event",
    "description": "Update an existing event",
    "requiredScopes": ["write", "write_events"]
  }, {
    "id": "jobadder_delete_event",
    "label": "Delete Event",
    "description": "Delete an event",
    "requiredScopes": ["write", "write_events"]
  }, {
    "id": "jobadder_list_event_subtypes",
    "label": "List Event Subtypes",
    "description": "Get all event subtype definitions",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_get_event_evaluations",
    "label": "Get Event Evaluations",
    "description": "Get evaluations for an event application",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_get_event_contact_evaluation",
    "label": "Get Event Contact Evaluation",
    "description": "Get a contact's evaluation for an event application",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_submit_event_contact_evaluation",
    "label": "Submit A Contact Interview Evaluation For An Event",
    "description": "Submit a contact interview evaluation for an event",
    "requiredScopes": ["write", "write_interview"]
  }, {
    "id": "jobadder_get_event_user_evaluation",
    "label": "Get Event User Evaluation",
    "description": "Get a user's evaluation for an event application",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_submit_event_user_evaluation",
    "label": "Submit A User Interview Evaluation For An Event",
    "description": "Submit a user interview evaluation for an event",
    "requiredScopes": ["write", "write_interview"]
  }, {
    "id": "jobadder_get_user_events",
    "label": "Get User Events",
    "description": "Get events for a specific user",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_get_candidate_events",
    "label": "Get Candidate Events",
    "description": "Get events for a specific candidate",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_get_contact_events",
    "label": "Get Contact Events",
    "description": "Get events for a specific contact",
    "requiredScopes": ["read", "read_events"]
  }, {
    "id": "jobadder_list_job_ads",
    "label": "List Job Ads",
    "description": "Find job ads in JobAdder",
    "requiredScopes": ["read", "read_jobad"]
  }, {
    "id": "jobadder_get_job_ad",
    "label": "Get Job Ad",
    "description": "Get a specific job ad by ID",
    "requiredScopes": ["read", "read_jobad"]
  }, {
    "id": "jobadder_add_job_ad_draft",
    "label": "Add Job Ad Draft",
    "description": "Add a draft job ad",
    "requiredScopes": ["write", "write_jobad"]
  }, {
    "id": "jobadder_update_job_ad",
    "label": "Update Job Ad",
    "description": "Update an existing job ad",
    "requiredScopes": ["write", "write_jobad"]
  }, {
    "id": "jobadder_get_job_ad_applications",
    "label": "Get Job Ad Applications",
    "description": "Get applications for a specific job ad",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_get_job_ad_active_applications",
    "label": "Get Job Ad Active Applications",
    "description": "Get active applications for a specific job ad",
    "requiredScopes": ["read", "read_jobapplication"]
  }, {
    "id": "jobadder_list_job_boards",
    "label": "List Job Boards",
    "description": "Get all job boards",
    "requiredScopes": ["read", "read_jobad", "partner_jobboard"]
  }, {
    "id": "jobadder_get_job_board",
    "label": "Get Job Board",
    "description": "Get a specific job board by ID",
    "requiredScopes": ["read", "read_jobad", "partner_jobboard"]
  }, {
    "id": "jobadder_get_job_board_ads",
    "label": "Get Job Board Ads",
    "description": "Get ads posted to a specific job board",
    "requiredScopes": ["read", "read_jobad", "partner_jobboard"]
  }, {
    "id": "jobadder_get_job_board_ad",
    "label": "Get Job Board Ad",
    "description": "Get a specific ad on a job board",
    "requiredScopes": ["read", "read_jobad", "partner_jobboard"]
  }, {
    "id": "jobadder_submit_job_application",
    "label": "Submit Job Board Application",
    "description": "Submit an application through a job board",
    "requiredScopes": ["write", "write_jobapplication", "partner_jobboard"]
  }, {
    "id": "jobadder_list_interviews",
    "label": "List Interviews",
    "description": "Find interviews in JobAdder",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_delete_interview",
    "label": "Delete Interview",
    "description": "Delete an interview",
    "requiredScopes": ["write", "write_interview"]
  }, {
    "id": "jobadder_get_interview_application",
    "label": "Get Interview Application",
    "description": "Get interview details for a specific application",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_get_interview_evaluations",
    "label": "Get Interview Evaluations",
    "description": "Get all evaluations for an interview application",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_get_interview_external_evaluation",
    "label": "Get Interview External Evaluation",
    "description": "Get an external contact's evaluation for an interview",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_submit_interview_external_evaluation",
    "label": "Submit Interview External Evaluation",
    "description": "Submit an external/contact interview evaluation",
    "requiredScopes": ["write", "write_interview"]
  }, {
    "id": "jobadder_get_interview_internal_evaluation",
    "label": "Get Interview Internal Evaluation",
    "description": "Get an internal user's evaluation for an interview",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_submit_interview_internal_evaluation",
    "label": "Submit An Internal/user Interview Evaluation",
    "description": "Submit an internal user's evaluation for an interview",
    "requiredScopes": ["write", "write_interview"]
  }, {
    "id": "jobadder_get_user_interviews",
    "label": "Get User Interviews",
    "description": "Get interviews for a specific user",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_get_candidate_interviews",
    "label": "Get Candidate Interviews",
    "description": "Get interviews for a specific candidate",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_get_contact_interviews",
    "label": "Get Contact Interviews",
    "description": "Get interviews for a specific contact",
    "requiredScopes": ["read", "read_interview"]
  }, {
    "id": "jobadder_search_by_email",
    "label": "Search By Email Address",
    "description": "Find candidates, contacts or users by email address",
    "requiredScopes": ["read", "read_candidate", "read_contact", "read_user"]
  }, {
    "id": "jobadder_search_by_phone",
    "label": "Search By Phone Number",
    "description": "Find candidates, contacts, companies or users by phone number",
    "requiredScopes": ["read", "read_candidate", "read_contact", "read_company", "read_user"]
  }, {
    "id": "jobadder_list_opportunities",
    "label": "List Opportunities",
    "description": "Find opportunities in JobAdder",
    "requiredScopes": ["read", "read_opportunity"]
  }, {
    "id": "jobadder_get_opportunity",
    "label": "Get Opportunity",
    "description": "Get a specific opportunity by ID",
    "requiredScopes": ["read", "read_opportunity"]
  }, {
    "id": "jobadder_add_opportunity",
    "label": "Add Opportunity",
    "description": "Add an opportunity",
    "requiredScopes": ["write", "write_opportunity"]
  }, {
    "id": "jobadder_update_opportunity",
    "label": "Update Opportunity",
    "description": "Update an existing opportunity",
    "requiredScopes": ["write", "write_opportunity"]
  }, {
    "id": "jobadder_list_opportunity_stages",
    "label": "List Opportunity Stages",
    "description": "Get all opportunity stage definitions",
    "requiredScopes": ["read", "read_opportunity"]
  }, {
    "id": "jobadder_list_notes",
    "label": "List Notes",
    "description": "Find notes in JobAdder",
    "requiredScopes": ["read", "read_note"]
  }, {
    "id": "jobadder_get_note",
    "label": "Get Note",
    "description": "Get a specific note by ID",
    "requiredScopes": ["read", "read_note"]
  }, {
    "id": "jobadder_add_note",
    "label": "Add Note",
    "description": "Add a note",
    "requiredScopes": ["write", "write_note"]
  }, {
    "id": "jobadder_update_note",
    "label": "Update Note",
    "description": "Update an existing note",
    "requiredScopes": ["write", "write_note"]
  }, {
    "id": "jobadder_add_note_attachment",
    "label": "Add Note Attachment",
    "description": "Add an attachment to a note",
    "requiredScopes": ["write", "write_note"]
  }, {
    "id": "jobadder_get_note_attachment",
    "label": "Get Note Attachment",
    "description": "Get a specific attachment from a note",
    "requiredScopes": ["read", "read_note"]
  }, {
    "id": "jobadder_list_candidate_note_types",
    "label": "List Candidate Note Types",
    "description": "Get all note types",
    "requiredScopes": ["read", "read_note", "read_candidate_note"]
  }, {
    "id": "jobadder_list_job_note_types",
    "label": "List Job Note Types",
    "description": "Get all note types",
    "requiredScopes": ["read", "read_note", "read_job_note"]
  }, {
    "id": "jobadder_list_company_note_types",
    "label": "List Company Note Types",
    "description": "Get a list of company note types",
    "requiredScopes": ["read", "read_note", "read_candidate_note"]
  }, {
    "id": "jobadder_list_contact_note_types",
    "label": "List Contact Note Types",
    "description": "Get a list of contact note types",
    "requiredScopes": ["read", "read_note", "read_contact_note"]
  }, {
    "id": "jobadder_list_placement_note_types",
    "label": "List Placement Note Types",
    "description": "Get all note types",
    "requiredScopes": ["read", "read_note", "read_placement_note"]
  }, {
    "id": "jobadder_get_placement_notes",
    "label": "Get Placement Notes",
    "description": "Get notes for a specific placement",
    "requiredScopes": ["read", "read_note", "read_placement_note"]
  }, {
    "id": "jobadder_add_placement_note",
    "label": "Add Placement Note",
    "description": "Add a note to a placement",
    "requiredScopes": ["write", "write_note", "write_placement_note"]
  }, {
    "id": "jobadder_get_company_notes",
    "label": "Get Company Notes",
    "description": "Get notes for a specific company",
    "requiredScopes": ["read", "read_note", "read_company_note"]
  }, {
    "id": "jobadder_add_company_note",
    "label": "Add Company Note",
    "description": "Add a note to a company",
    "requiredScopes": ["write", "write_note", "write_company_note"]
  }, {
    "id": "jobadder_get_contact_notes",
    "label": "Get Contact Notes",
    "description": "Get notes for a specific contact",
    "requiredScopes": ["read", "read_note", "read_contact_note"]
  }, {
    "id": "jobadder_add_contact_note",
    "label": "Add Contact Note",
    "description": "Add a note to a contact",
    "requiredScopes": ["write", "write_note", "write_contact_note"]
  }, {
    "id": "jobadder_list_placements",
    "label": "List Placements",
    "description": "Find placements in JobAdder",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_get_placement",
    "label": "Get Placement",
    "description": "Get a specific placement by ID",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_update_placement",
    "label": "Update Placement",
    "description": "Update an existing placement",
    "requiredScopes": ["write", "write_placement"]
  }, {
    "id": "jobadder_set_placement_status",
    "label": "Set A Placement Status",
    "description": "Set a placement status with optional note",
    "requiredScopes": ["write", "write_placement"]
  }, {
    "id": "jobadder_list_placement_status_list",
    "label": "List Placement Statuses",
    "description": "Get all placement status definitions",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_list_deleted_placements",
    "label": "List Deleted Placements",
    "description": "Get recently deleted placements",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_list_placement_custom_fields",
    "label": "List Placement Custom Fields",
    "description": "Get all placement custom field definitions",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_get_placement_custom_field",
    "label": "Get Placement Custom Field",
    "description": "Get a specific placement custom field definition",
    "requiredScopes": ["read", "read_placement"]
  }, {
    "id": "jobadder_modify_placement_custom_field_values",
    "label": "Modify Custom Field List Values",
    "description": "Modify custom field list values",
    "requiredScopes": ["manage_placement_custom"]
  }, {
    "id": "jobadder_list_requisitions",
    "label": "List Requisitions",
    "description": "Find requisitions in JobAdder",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_get_requisition",
    "label": "Get Requisition",
    "description": "Get a specific requisition by ID",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_add_requisition",
    "label": "Add Requisition",
    "description": "Add a requisition",
    "requiredScopes": ["write", "write_requisition"]
  }, {
    "id": "jobadder_update_requisition",
    "label": "Update Requisition",
    "description": "Update an existing requisition",
    "requiredScopes": ["write", "write_requisition"]
  }, {
    "id": "jobadder_remove_requisition",
    "label": "Remove Requisition",
    "description": "Remove a requisition",
    "requiredScopes": ["write", "write_requisition"]
  }, {
    "id": "jobadder_approve_requisition",
    "label": "Approve Requisition",
    "description": "Approve a requisition",
    "requiredScopes": ["write", "write_requisition"]
  }, {
    "id": "jobadder_reject_requisition",
    "label": "Reject Requisition",
    "description": "Reject a requisition",
    "requiredScopes": ["write", "write_requisition"]
  }, {
    "id": "jobadder_get_requisition_history",
    "label": "Get Requisition History",
    "description": "Get history for a requisition",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_get_requisition_attachments",
    "label": "Get Requisition Attachments",
    "description": "Get attachments for a requisition",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_get_requisition_attachment",
    "label": "Get Requisition Attachment",
    "description": "Get a specific attachment from a requisition",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_add_requisition_attachment",
    "label": "Add Requisition Attachment",
    "description": "Add an attachment",
    "requiredScopes": ["write", "write_requisition"]
  }, {
    "id": "jobadder_remove_requisition_attachment",
    "label": "Remove Requisition Attachment",
    "description": "Remove an attachment",
    "requiredScopes": ["write", "write_requisition"]
  }, {
    "id": "jobadder_get_requisition_notes",
    "label": "Get Requisition Notes",
    "description": "Get notes for a requisition",
    "requiredScopes": ["read", "read_note", "read_requisition_note"]
  }, {
    "id": "jobadder_add_requisition_note",
    "label": "Add Requisition Note",
    "description": "Add a requisition note",
    "requiredScopes": ["write", "write_note", "write_requisition_note"]
  }, {
    "id": "jobadder_list_requisition_forms",
    "label": "List Requisition Forms",
    "description": "Get all requisition form definitions",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_list_requisition_custom_fields",
    "label": "List Requisition Custom Fields",
    "description": "Get all custom field definitions for requisitions",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_get_requisition_custom_field",
    "label": "Get Requisition Custom Field",
    "description": "Get a specific custom field definition for requisitions",
    "requiredScopes": ["read", "read_requisition"]
  }, {
    "id": "jobadder_get_company_requisitions",
    "label": "Get Company Requisitions",
    "description": "Get requisitions for a specific company",
    "requiredScopes": ["read", "read_requisition"]
  }],
  "releaseStage": "ga",
  "categories": ["ats"],
  "scopeDefinitions": [{
    "name": "read",
    "description": "View JobAdder data"
  }, {
    "name": "write",
    "description": "Manage JobAdder data"
  }, {
    "name": "read_candidate",
    "description": "View candidates"
  }, {
    "name": "write_candidate",
    "description": "Manage candidates"
  }, {
    "name": "read_candidate_note",
    "description": "View candidate notes"
  }, {
    "name": "write_candidate_note",
    "description": "Manage candidate notes"
  }, {
    "name": "manage_candidate_custom",
    "description": "Manage candidate custom fields"
  }, {
    "name": "read_company",
    "description": "View companies"
  }, {
    "name": "write_company",
    "description": "Manage companies"
  }, {
    "name": "read_company_note",
    "description": "View company notes"
  }, {
    "name": "write_company_note",
    "description": "Manage company notes"
  }, {
    "name": "manage_company_custom",
    "description": "Manage company custom fields"
  }, {
    "name": "read_contact",
    "description": "View contacts"
  }, {
    "name": "write_contact",
    "description": "Manage contacts"
  }, {
    "name": "read_contact_note",
    "description": "View contact notes"
  }, {
    "name": "write_contact_note",
    "description": "Manage contact notes"
  }, {
    "name": "manage_contact_custom",
    "description": "Manage contact custom fields"
  }, {
    "name": "read_jobad",
    "description": "View job ads"
  }, {
    "name": "write_jobad",
    "description": "Manage job ads"
  }, {
    "name": "read_jobapplication",
    "description": "View job applications"
  }, {
    "name": "write_jobapplication",
    "description": "Manage job applications"
  }, {
    "name": "read_jobapplication_note",
    "description": "View job application notes"
  }, {
    "name": "write_jobapplication_note",
    "description": "Manage job application notes"
  }, {
    "name": "manage_jobapplication_custom",
    "description": "Manage job application custom fields"
  }, {
    "name": "read_interview",
    "description": "View job interviews"
  }, {
    "name": "write_interview",
    "description": "Manage job interviews"
  }, {
    "name": "read_events",
    "description": "View events (Interviews/Meetings)"
  }, {
    "name": "write_events",
    "description": "Manage events (Interviews/Meetings)"
  }, {
    "name": "read_job",
    "description": "View jobs"
  }, {
    "name": "write_job",
    "description": "Manage jobs"
  }, {
    "name": "read_job_note",
    "description": "View job notes"
  }, {
    "name": "write_job_note",
    "description": "Manage job notes"
  }, {
    "name": "manage_job_custom",
    "description": "Manage job custom fields"
  }, {
    "name": "read_placement",
    "description": "View placements"
  }, {
    "name": "write_placement",
    "description": "Manage placements"
  }, {
    "name": "read_placement_note",
    "description": "View placement notes"
  }, {
    "name": "write_placement_note",
    "description": "Manage placement notes"
  }, {
    "name": "manage_placement_custom",
    "description": "Manage placement custom fields"
  }, {
    "name": "read_requisition",
    "description": "View requisitions"
  }, {
    "name": "write_requisition",
    "description": "Manage requisitions"
  }, {
    "name": "read_requisition_note",
    "description": "View requisition notes"
  }, {
    "name": "write_requisition_note",
    "description": "Manage requisition notes"
  }, {
    "name": "read_opportunity",
    "description": "View opportunities"
  }, {
    "name": "write_opportunity",
    "description": "Manage opportunities"
  }, {
    "name": "read_float",
    "description": "View floats"
  }, {
    "name": "read_submission",
    "description": "View submissions"
  }, {
    "name": "read_note",
    "description": "View notes"
  }, {
    "name": "write_note",
    "description": "Manage notes"
  }, {
    "name": "read_folder",
    "description": "View folders"
  }, {
    "name": "write_folder",
    "description": "Manage folders"
  }, {
    "name": "read_user",
    "description": "View users"
  }, {
    "name": "read_usergroup",
    "description": "View user groups"
  }, {
    "name": "read_usertask",
    "description": "View user tasks"
  }, {
    "name": "partner_jobboard",
    "description": "View active job ads and submit job applications"
  }, {
    "name": "partner_ui_action",
    "description": "Add partner actions to JobAdder"
  }, {
    "name": "offline_access",
    "description": "Access JobAdder data for an extended period of time, must always be combined with other scopes"
  }]
};

<ConnectorPage connector={connector} />
