Microsoft SharePoint · Arazzo Workflow

SharePoint Verify Site Connection and Identity

Version 1.0.0

Escalate from a cheap reachability probe to identity, site detail, and visible lists.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub CollaborationDocument-ManagementEnterprise Content ManagementIntranetMicrosoftArazzoWorkflows

Provider

sharepoint

Workflows

site-connection-check
Confirm the SharePoint site is reachable, the token is valid, and lists are visible.
Probes the site title, resolves the calling user's profile, reads the full site properties, and enumerates the lists the caller is permitted to see.
4 steps inputs: listPageSize outputs: accountName, lists, serverRelativeUrl, siteId, siteTitle
1
probeSite
Cheapest possible reachability check. A 200 here proves the site URL resolves and the bearer token is accepted before anything heavier runs.
2
whoAmI
Resolve the identity behind the token. Confirms the integration is acting as the account you expect rather than a stale or over-scoped principal.
3
readSite
Read the full site (web) properties, capturing the site id and the server-relative URL that folder and file operations depend on later.
4
enumerateLists
Enumerate the non-hidden lists and libraries the caller can see. An empty result with a 200 usually means the token's scopes are narrower than intended rather than that the site is empty.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: SharePoint Verify Site Connection and Identity
  summary: Escalate from a cheap reachability probe to identity, site detail, and visible lists.
  description: >-
    The first thing any SharePoint integration should run after wiring up Azure
    AD OAuth. The workflow escalates deliberately: a near-free title read proves
    the site URL and token are usable at all, the profile read proves which
    identity the token actually carries, the full web read resolves the site's
    id and server-relative URL for later steps, and the list enumeration reveals
    what the granted scopes can genuinely see. Failing early here is far cheaper
    than failing halfway through a write. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: listsApi
  url: ../openapi/sharepoint-lists-api-openapi.yml
  type: openapi
- name: sitesApi
  url: ../openapi/sharepoint-sites-api-openapi.yml
  type: openapi
- name: userProfilesApi
  url: ../openapi/sharepoint-user-profiles-api-openapi.yml
  type: openapi
workflows:
- workflowId: site-connection-check
  summary: Confirm the SharePoint site is reachable, the token is valid, and lists are visible.
  description: >-
    Probes the site title, resolves the calling user's profile, reads the full
    site properties, and enumerates the lists the caller is permitted to see.
  inputs:
    type: object
    properties:
      listPageSize:
        type: integer
        description: Maximum number of lists to enumerate in the final step.
        default: 50
  steps:
  - stepId: probeSite
    description: >-
      Cheapest possible reachability check. A 200 here proves the site URL
      resolves and the bearer token is accepted before anything heavier runs.
    operationId: getWebTitle
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      siteTitle: $response.body#/value
  - stepId: whoAmI
    description: >-
      Resolve the identity behind the token. Confirms the integration is acting
      as the account you expect rather than a stale or over-scoped principal.
    operationId: getMyUserProfile
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accountName: $response.body#/AccountName
      displayName: $response.body#/DisplayName
      email: $response.body#/Email
      department: $response.body#/Department
  - stepId: readSite
    description: >-
      Read the full site (web) properties, capturing the site id and the
      server-relative URL that folder and file operations depend on later.
    operationId: getWeb
    parameters:
    - name: "$select"
      in: query
      value: Id,Title,Url,Description,ServerRelativeUrl,Created,LastItemModifiedDate
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      siteId: $response.body#/Id
      siteUrl: $response.body#/Url
      serverRelativeUrl: $response.body#/ServerRelativeUrl
      lastItemModifiedDate: $response.body#/LastItemModifiedDate
  - stepId: enumerateLists
    description: >-
      Enumerate the non-hidden lists and libraries the caller can see. An empty
      result with a 200 usually means the token's scopes are narrower than
      intended rather than that the site is empty.
    operationId: getLists
    parameters:
    - name: "$select"
      in: query
      value: Id,Title,BaseTemplate,ItemCount,Hidden
    - name: "$filter"
      in: query
      value: Hidden eq false
    - name: "$top"
      in: query
      value: $inputs.listPageSize
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      lists: $response.body#/value
      firstListTitle: $response.body#/value/0/Title
  outputs:
    siteTitle: $steps.probeSite.outputs.siteTitle
    siteId: $steps.readSite.outputs.siteId
    serverRelativeUrl: $steps.readSite.outputs.serverRelativeUrl
    accountName: $steps.whoAmI.outputs.accountName
    lists: $steps.enumerateLists.outputs.lists

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/sharepoint-site-connection-check-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.