Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Vimeo

Scalekit connector
Open markdown

The Vimeo connector lets your AI agent act in each user's Vimeo account. Each user signs in to Vimeo once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 59 tools.

Tools
59
What they doRead · write · destructive
32 · 20 · 732 read20 write7 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Vimeo connection

    In AgentKit > Connections, create a Vimeo connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Vimeo, so you don't need to register an OAuth app. To show your own app on the consent screen, use your own credentials instead.

    Use your own OAuth app

    Register your Vimeo app credentials with Scalekit so it can manage the OAuth 2.0 authentication flow and token lifecycle on your behalf. You’ll need a Client Identifier and Client Secret from the Vimeo Developer Portal.

    1. Create a Vimeo app

      • Go to the Vimeo Developer Portal and click Create an app in the top-right corner.

      • Fill in the required fields:

        • App name — enter a name for your app (e.g., Scalekit-Auth)
        • Brief description — describe what the app does
        • Select Yes under “Will people besides you be able to access your app?” to allow other Vimeo accounts to authenticate
        • Check the box to agree to the Vimeo API License Agreement and Terms of Service
        Vimeo Create a new app form filled with Scalekit-Auth details
      • Click Create App.

    2. Copy your Client Identifier

      After creating the app, you are taken to the app’s settings page. Copy the Client identifier — you’ll need it in a later step.

      Vimeo app settings page showing the Client Identifier
    3. Create a connection in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Search for Vimeo and click Create.

        Searching for Vimeo in Scalekit Create Connection
      • Copy the Redirect URI from the connection configuration panel. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Configure Vimeo Connection panel showing Redirect URI, Client ID, Client Secret, and Scopes fields
    4. Configure the callback URL in Vimeo

      • Back in the Vimeo Developer Portal, open your app and click Edit settings.

      • Paste the Scalekit Redirect URI into the App URL field and the Your callback URLs field.

      • Click Add secret under Client secrets to generate a new client secret. Copy the secret value.

        Vimeo app settings with callback URL and client secret configured
      • Click Update to save.

    5. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the Vimeo connection you created.

      • Enter your credentials:

        • Client ID — the Client Identifier from your Vimeo app
        • Client Secret — the secret you generated in step 4
        • Scopes — select the scopes your app needs (e.g., create, delete, edit, interact, private, public)
      • Click Save.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'vimeo'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Vimeo:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'vimeo_categories_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • vimeo_categories_listRetrieve all top-level Vimeo content categories (e.g., Animation, Documentary, Music).Read-only

    List Categories

    Retrieve all top-level Vimeo content categories (e.g., Animation, Documentary, Music). Requires public scope.

    Inputs

    directionstring
    Sort directionone of ascdescdefault asc
    pageinteger
    Page number of resultsdefault 1
    per_pageinteger
    Number of categories per pagedefault 25
    sortstring
    Sort order for categoriesone of last_video_featured_timenamedefault name
  • vimeo_category_getRetrieve details about a specific top-level Vimeo content category, including its name, description, and links.Read-only

    Get Category

    Retrieve details about a specific top-level Vimeo content category, including its name, description, and links. Requires public scope.

    Inputs

    categorystringrequired
    Category name/slug as used in Vimeo's category URIs
  • vimeo_category_videos_listRetrieve videos published under a specific top-level Vimeo content category.Read-only

    List Category Videos

    Retrieve videos published under a specific top-level Vimeo content category. Requires public scope.

    Inputs

    categorystringrequired
    Category name/slug to list videos from
    directionstring
    Sort direction for resultsone of ascdescdefault desc
    pageinteger
    Page number of resultsdefault 1
    per_pageinteger
    Number of videos per pagedefault 25
    querystring
    Search query to filter videos by title within the category
    sortstring
    Sort order for resultsone of alphabeticalcommentsdatedurationlikesplaysrelevantdefault relevant
  • vimeo_channel_getRetrieve detailed information about a specific Vimeo channel including its name, description, and stats.Read-only

    Get Channel

    Retrieve detailed information about a specific Vimeo channel including its name, description, and stats. Requires public scope.

    Inputs

    channel_idstringrequired
    Vimeo channel ID or name
  • vimeo_channel_videos_listRetrieve all videos in a specific Vimeo channel.Read-only

    List Channel Videos

    Retrieve all videos in a specific Vimeo channel. Requires public scope.

    Inputs

    channel_idstringrequired
    Vimeo channel ID or slug
    directionstring
    Sort directionone of ascdescdefault desc
    filterstring
    Filter videos by typeone of embeddable
    pageinteger
    Page number of resultsdefault 1
    per_pageinteger
    Number of videos per pagedefault 25
    querystring
    Search query to filter channel videos
    sortstring
    Sort order for videosone of alphabeticalcommentsdatedurationlikesplayspositiondefault date
  • vimeo_channels_listRetrieve a list of Vimeo channels.Read-only

    List Channels

    Retrieve a list of Vimeo channels. Can list all public channels or channels the authenticated user follows/manages. Requires public scope.

    Inputs

    directionstring
    Sort directionone of ascdescdefault desc
    filterstring
    Filter channels by typeone of featured
    pageinteger
    Page number of resultsdefault 1
    per_pageinteger
    Number of channels per pagedefault 25
    querystring
    Search query to filter channels by name
    sortstring
    Sort order for channelsone of alphabeticaldatefollowersrelevantvideosdefault followers
  • vimeo_comment_replies_listRetrieve all replies posted to a specific comment on a Vimeo video.Read-only

    List Comment Replies

    Retrieve all replies posted to a specific comment on a Vimeo video. Requires public scope.

    Inputs

    comment_idstringrequired
    ID of the comment to list replies for
    video_idstringrequired
    Vimeo video ID the comment belongs to
    pageinteger
    Page number of resultsdefault 1
    per_pageinteger
    Number of replies per pagedefault 25
  • vimeo_folder_videos_listRetrieve all videos inside a specific Vimeo folder (project).Read-only

    List Folder Videos

    Retrieve all videos inside a specific Vimeo folder (project). Requires private scope.

    Inputs

    folder_idstringrequired
    Folder (project) ID to list videos from
    directionstring
    Sort directionone of ascdescdefault asc
    filterstring
    Filter videos by typeone of folderlivevideo
    pageinteger
    Page number of resultsdefault 1
    per_pageinteger
    Number of videos per pagedefault 25
    querystring
    Search query to filter videos by name
    sortstring
    Sort order for videosone of alphabeticaldatedefaultdurationlast_user_action_event_datedefault date