Built-in integrations are Base44 services you can call in your app without extra setup. They cover common needs such as sending email, generating images and videos, handling file uploads, extracting data from files, and running large language model (LLM) calls. You can use them from the AI chat, in flows, or in your own backend functions. Each call to a built-in integration uses integration credits, so it is important to understand what each integration does and when to use it.
Understanding built-in integrations
Built-in integrations are ready-made actions that run inside Base44. They are available in every app, and you do not need to set up API keys, connectors, or your own infrastructure. You can add them wherever you design logic in your app, and Base44 takes care of hosting, scaling, and provider connections behind the scenes. Use built-in integrations when you want Base44 to handle these shared tasks for you. For example, you can send emails without configuring an email service, generate images on demand, let people upload and store files in Base44, extract structured data from uploads into your entities, or call LLMs to power agents and data workflows while keeping all billing and provider management in one place.
Sending emails
SendEmail is a built-in integration that sends transactional and workflow emails from your app, such as confirmations, alerts, digests, and other notifications that need to go out automatically. You can trigger SendEmail from:
- Flows that Base44 builds from the AI chat.
- Backend functions that you edit in your app’s code.
- Agents or automations that need to notify people by email.
SendEmail is helpful for tasks like sending welcome messages, daily or weekly summaries, status change alerts, or passwordless access links.
Sending push notifications
SendPushNotification is a built-in integration that sends a native push notification to one person in your app, such as an order update, an appointment reminder, or an alert that needs their attention. It works with native iOS and Android apps that have push notifications set up. To set yours up, see adding push notifications. You can trigger SendPushNotification from:
- Backend functions that run with service role permissions in your app’s code.
- Flows, agents, or automations that call one of those backend functions.
Sending happens on your server, so you decide who receives each notification. Each notification includes:
- A title of up to 100 characters.
- A message of up to 500 characters.
- An optional action button label of up to 50 characters.
- An optional link to a specific page in your app. Tapping the notification opens that page. With no link, it opens your app’s home page.
Generating images
GenerateImage is a built-in integration that creates images using AI from text prompts or from flows in your app. It is useful for generating on-demand visuals such as covers, thumbnails, illustrations, or avatars without managing an external image provider. GenerateImage can support scenarios like creating cover images for new content, generating temporary product images when photos are not ready yet, or producing simple marketing assets based on text descriptions.
Generating videos
GenerateVideo is a built-in integration that creates videos with AI from text prompts or app flows. It is useful for adding rich visual content to your app design, or for letting people generate videos inside your live app from prompts, forms, or app data. You can use GenerateVideo to add hero videos and product previews while building your app, or to power features like marketing video generators, recipe previews, fitness clips, learning content, social media assets, and personalized media in your live app.
Generating speech
GenerateSpeech is a built-in integration that converts text into natural-sounding audio and returns a public URL to a generated MP3 file. Your app can play back, store, or embed the audio without connecting to an external speech provider. GenerateSpeech is useful for adding read-aloud functionality to content-heavy apps, building narrated walkthroughs, delivering multilingual announcements, or producing audio summaries from app data. It works in 29 languages, and Base44 detects the language automatically.
Adding a listen button to your app using GenerateSpeech
For example, you can build an art exhibition guide where visitors tap an artwork title and hear a narrated description read aloud, like a personal audio tour inside your app.
Using an audio URL
When GenerateSpeech runs, it returns a public URL pointing to the generated MP3 file. You can use this URL directly in an audio player component in your app, or save it to an entity field so you can replay it later without generating the audio again. Ask the AI chat to store the URL in your entity after each call, for example:
The audio file URL appears below the listen button after the first generation
Uploading files
UploadFile is a built-in integration that lets your app accept file uploads from people who use it. It powers file upload components in your UI so you can collect documents, images, and data files without building your own storage or upload endpoints. UploadFile is a good choice when you want to gather receipts, contracts, screenshots, profile pictures, or data files such as CSVs and spreadsheets and keep them tied to records in your app.
ExtractDataFromUploadedFile is a built-in integration that reads structured content from uploaded files and turns it into data your app can work with. It helps you move from “file storage” to “usable records” by pulling out key fields and rows for you. You can pull structured data from uploaded files (CSV, PNG, JPG, JPEG, PDF) using JSON schemas. It is particularly useful for importing data in bulk. You can use ExtractDataFromUploadedFile to parse receipts, invoices, forms, or data files and convert them into clean entities, such as Contacts, Invoices, Expenses, or Metrics, without hand-writing parsing logic. You can also combine UploadFile and ExtractDataFromUploadedFile. For example, someone uploads a CSV, Excel file, or PDF through UploadFile, then you use ExtractDataFromUploadedFile to transform the content into rows in your data tables.
Running LLM calls
invokeLLM is a built-in integration that runs large language model (LLM) calls from inside your app. It lets your app “think” with AI over your data and flows, and powers text generation, explanations, and decisions that depend on LLMs. invokeLLM is a good fit when you want to build data agents, summarize or rewrite content, classify records, generate recommendations from dashboards, or add in-app assistants that help people complete tasks. It works like other built-in integrations in your flows and backend functions, but with an extra layer of control: you can choose which underlying model it uses.
Choosing the model for invokeLLM
By default, invokeLLM uses a standard model that balances quality and cost. If you want, you can tell the AI chat inside Base44 to use a different supported model for invokeLLM by asking the AI chat to switch it for you. invokeLLM supports a subset of Base44’s available models, not the full list offered elsewhere in the builder.
For example, you can say: Switch invokeLLM to use <model-name> for this app.