Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to MagicSlides

Scalekit connector
Open markdown

The MagicSlides connector lets your AI agent act in each user's MagicSlides account. Each user connects their own MagicSlides API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 9 tools.

Tools
9
What they doRead · write · destructive
4 · 5 · 04 read5 write0 destructive
Users sign in with

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 MagicSlides connection

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

  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 = 'magicslides'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize MagicSlides:', 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: 'magicslides_get_current_user',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their MagicSlides credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • magicslides_get_current_userGet the MagicSlides account behind the API key.Read-only

    Get Current User

    Get the MagicSlides account behind the API key. Returns success and user, with the account email and plan. Free. Use magicslides_get_current_user to check that the connection works and which plan it is on before generating decks.

    Inputs

    This tool takes no inputs.

  • magicslides_get_studio_template_schemaGet the slide plan and text slots to fill for a MagicSlides Studio template, so you can write the deck copy yourself.Read-only

    Get Studio Template Schema

    Get the slide plan and text slots to fill for a MagicSlides Studio template, so you can write the deck copy yourself. Returns templateKey, slideCount, plan, slides (each with index, layoutKey, imageMode and slots, a map of slot key to guidance on what to write), an example request body to copy, and byoReadyTemplates. Free. Use magicslides_get_studio_template_schema before magicslides_create_studio_presentation_from_slots. Only templates with slotsReady true work; the default template is creative-design.

    Inputs

    slidesinteger
    Number of slides to plan, 3 to 20. MagicSlides uses 7 when omitted. Example: 7.
    template_keystring
    Key of a Studio template with slotsReady true, from magicslides_list_studio_templates. MagicSlides uses its default template when omitted. Example: editorial-pitch.
  • magicslides_list_studio_templatesList the pre-designed MagicSlides Studio templates that Studio decks are built from.Read-only

    List Studio Templates

    List the pre-designed MagicSlides Studio templates that Studio decks are built from. Returns templates, each with templateKey, name, category and slotsReady. Templates with slotsReady true can be filled with your own copy through magicslides_get_studio_template_schema and magicslides_create_studio_presentation_from_slots. Free. Use magicslides_list_studio_templates to pick a template for the Studio tools. Use magicslides_list_templates for the templates used by magicslides_generate_template_presentation.

    Inputs

    This tool takes no inputs.

  • magicslides_list_templatesList the MagicSlides presentation templates that magicslides_generate_template_presentation can use.Read-only

    List Templates

    List the MagicSlides presentation templates that magicslides_generate_template_presentation can use. Returns the templates with each one's key (pass it as template_key) and descriptive details. Free. Use magicslides_list_templates before magicslides_generate_template_presentation. Use magicslides_list_studio_templates for the Studio templates used by magicslides_generate_studio_presentation.

    Inputs

    modestring
    Set to proslides to list only the templates that produce per-slide HTML output. Omit to list every template.one of proslides
  • magicslides_create_studio_presentation_from_slotsRender a designed MagicSlides Studio deck from slide copy you wrote for a template's slots.Write

    Create Studio Presentation from Slots

    Render a designed MagicSlides Studio deck from slide copy you wrote for a template's slots. MagicSlides writes none of the text. Returns status, previewImageUrl (PNG of the first slide), previewUrl (live slideshow), shareUrl, editUrl (opens in MagicSlides Studio), pdfUrl, slideCount, templateKey and conversationId. Free. Use magicslides_create_studio_presentation_from_slots when you have written the content. Use magicslides_generate_studio_presentation to have MagicSlides write it. Call magicslides_get_studio_template_schema first for the same template_key to get the layoutKey and slot keys of each slide.

    Inputs

    slidesarrayrequired
    The deck's slides, 3 to 20, in order. Each slide gives the layoutKey from the schema and a slots object that maps every slot key from the schema to your text. Image slots ending in _URL take an image link; slots ending in _QUERY take a search phrase. Example: [{"layoutKey": "cover", "slots": {"TITLE": "Q3 Product Update", "SUBTITLE": "What shipped and what is next"}}].
    template_keystringrequired
    The same slotsReady Studio template key you got the schema for from magicslides_get_studio_template_schema. Example: editorial-pitch.
    include_imagesstring
    How to fill image slots that you gave a search phrase (_QUERY) but no image link (_URL) for: stock for stock photos, ai for AI-generated images, none for no image. MagicSlides uses stock when omitted.one of stocknoneai
    languagestring
    Language of the slide text as an ISO 639-1 code. Example: en, es, fr, de, ja. Defaults to en when omitted.
    titlestring
    Title of the deck. Example: Q3 Product Update.
  • magicslides_generate_presentationGenerate an AI presentation in the MagicSlides editor from a topic or from text you paste in, such as notes or a summary.Write

    Generate Presentation

    Generate an AI presentation in the MagicSlides editor from a topic or from text you paste in, such as notes or a summary. Returns success, presentationId, presentationUrl (the MagicSlides editor link, where the deck can be edited and downloaded as PPTX or PDF), slug and slideCount. Takes about 30 to 60 seconds and uses MagicSlides credits. Use magicslides_generate_presentation for a deck from a topic or text. Use magicslides_generate_presentation_from_url to turn a web page into slides. Use magicslides_generate_template_presentation when you need direct PPTX and PDF links in a designed template.

    Inputs

    topicstringrequired
    What the presentation is about: a short topic, or the full text to turn into slides (notes, a summary, an outline). Be specific. Example: The future of AI in healthcare: diagnostics, drug discovery and patient privacy.
    include_imagesboolean
    Set to true to add stock images to the slides. Defaults to false.
    languagestring
    Language of the slide text as an ISO 639-1 code. Example: en, es, fr, de, ja. Defaults to en when omitted.
    presentation_forstring
    Who the presentation is for, as free text. Example: hospital administrators.
    presentation_tonestring
    Tone of the slide copy, as free text. Examples: professional, casual, persuasive.
    presentation_typestring
    Kind of presentation, as free text that steers the writing style. Examples: business, educational, pitch.
    slidesinteger
    Number of slides to generate, 1 to 20. MagicSlides uses 5 when omitted. Example: 8.
    web_searchboolean
    Set to true to research the topic with a live web search before writing the slides. Defaults to false.
  • magicslides_generate_presentation_from_urlGenerate an AI presentation in the MagicSlides editor from the content of a public web page, such as an article, blog post or documentation page.Write

    Generate Presentation from URL

    Generate an AI presentation in the MagicSlides editor from the content of a public web page, such as an article, blog post or documentation page. Returns success, presentationId, presentationUrl (the MagicSlides editor link, where the deck can be edited and downloaded as PPTX or PDF) and slideCount. Takes about 30 to 60 seconds and uses MagicSlides credits. Use magicslides_generate_presentation_from_url when the source is a web page. Use magicslides_generate_presentation for a topic or text you already have.

    Inputs

    urlstringrequired
    Full URL of a publicly reachable web page whose content becomes the slides. Pages behind a login cannot be read. Example: https://en.wikipedia.org/wiki/Solar_energy.
    languagestring
    Language of the slide text as an ISO 639-1 code. Example: en, es, fr, de, ja. Defaults to en when omitted.
    slidesinteger
    Number of slides to generate, 1 to 20. MagicSlides uses 5 when omitted. Example: 10.
  • magicslides_generate_studio_presentationGenerate a designed MagicSlides Studio deck from a topic, with MagicSlides AI writing all the slide copy.Write

    Generate Studio Presentation

    Generate a designed MagicSlides Studio deck from a topic, with MagicSlides AI writing all the slide copy. Returns status, previewImageUrl (PNG of the first slide), previewUrl (live slideshow), shareUrl, editUrl (opens in MagicSlides Studio), pdfUrl, slideCount, templateKey and conversationId. Takes up to about 40 seconds and uses MagicSlides AI credits. When status is out_of_credits, the response includes a createUrl to give the user. Use magicslides_generate_studio_presentation only when MagicSlides should write the content. Use magicslides_create_studio_presentation_from_slots to render copy you wrote yourself, which is free.

    Inputs

    topicstringrequired
    What the presentation is about. Be specific. Example: Quarterly product update for the sales team.
    audiencestring
    Who the presentation is for, as free text. Example: enterprise sales team.
    languagestring
    Language of the slide text as an ISO 639-1 code. Example: en, es, fr, de, ja. Defaults to en when omitted.
    slidesinteger
    Number of slides, 3 to 20. MagicSlides uses 7 when omitted. Example: 7.
    template_keystring
    Key of the Studio template to use, from magicslides_list_studio_templates. MagicSlides picks one when omitted. Example: editorial-pitch.