Go to the Channels page to learn more about what plans have access to this channel. Sign into Quickbase, and then go to Pipelines > Channels.
Use the AI Actions channel to generate responses from a Large Language Model (LLM) based on your defined instructions and context.
You can include custom instructions, outputs from previous pipeline steps, and reference files stored in Quickbase. The AI then generates a response as the step output.
Each AI Actions step in a pipeline works independently. If your pipeline includes multiple AI Actions steps, the AI model does not retain context from previous steps, unless you explicitly include the output from those steps.
Important
Information sent to AI actions is not used to train AI models and is only stored in the activity log of the pipeline.
Steps
Type | Category | Step name | Description |
|---|---|---|---|
Action | Custom Action | Custom Action | Send instructions and generate a response from the AI |
Limits
Files must be referenced from previous steps using the File transfer handle
Maximum file size: 3 MB
If the AI recognizes personally identifiable information, like names, emails, phone numbers, or social security numbers, it may skip it when processing it for security reasons
Each realm has set limits:
50 million input tokens/day
15 million output tokens/day
10,000 step executions/day
60 step executions/minute—exceeding this limit will result in a transient error in the pipeline and several retry attempts
Additionally, each step execution has the following limits:
125,000 input tokens without a file attached (up to 300,000 input tokens combined with a file)
10,000 output tokens
Up to 5 entire steps referenced in the Step selection field
Tip
To stay within the limits, instruct the AI to give you shorter responses and track your usage using the outputs of the step.
Response format
The response format determines whether the AI output is a single block of text or structured data with defined fields.
Structured AI output
Use Structured AI output when you want the AI to return data in a defined structure. This is the default and preferred option when working with AI Actions
You specify the fields the response should include, such as title, body, or count. The AI then generates output that matches this structure so each value can be mapped to different fields in later pipeline steps or stored in separate Quickbase fields. This option works best when you need predictable, structured results for automation or data processing.
Text
Use Text when you want the AI to return a single response as plain text. The AI writes one continuous output, such as a paragraph, explanation, or generated message. This option is supported but not recommended.
Example
Write a blog post based on the instructions in a file
Create a pipeline with these steps:
Look up a record step from the Quickbase channel to fetch the file
Custom Action step from the AI Actions channel to provide the AI instructions and the file

In the Custom Action step:
Select Structured AI Output as the response format to describe the AI output using a JSON schema.
Write your request. In this example, we ask to generate a blog post following the guidelines provided in the attached file.
Reference the file transfer handle of the file you looked up in the first step in the File URL.
.png?sv=2022-11-02&spr=https&st=2026-04-01T18%3A29%3A22Z&se=2026-04-01T18%3A43%3A22Z&sr=c&sp=r&sig=9%2FH2un4tD22PfNhWVliJ%2FD5%2BoapVg5DHYpG2VDruitY%3D)
Example YAML
# New pipeline
#
# Account slugs:
# - quickbase[REDACTED]: Realm Default Account <None>
---
- META:
name: New pipeline
enabled: true
- LOOKUP quickbase[REDACTED] record look_up -> a:
inputs-meta:
table: '"AI Document Scanning Test App: files" <bu7wh3rbq>'
export_fields: '"file" <7>'
inputs:
id: '24'
name: Find file
- ACTION qb-ai-actions custom_action create -> b:
inputs-meta:
json_schema: "{\n \"type\": \"object\",\n \"properties\": {\n \"title\"\
: {\n \"type\": \"string\",\n \"description\": \"The title of the\
\ blog post\"\n },\n \"body\": {\n \"type\": \"string\",\n \
\ \"description\": \"The main content of the blog post\"\n },\n \"\
summary\": {\n \"type\": \"string\",\n \"description\": \"A brief\
\ summary of the blog post\"\n },\n \"word_count\": {\n \"type\"\
: \"integer\",\n \"description\": \"The number of words in the blog post\"\
\n }\n },\n \"required\": [\n \"title\",\n \"body\",\n \"summary\"\
,\n \"word_count\"\n ]\n}"
response_format: json_schema
inputs:
file_url: '{{a.file.file_transfer_handle}}'
system_message: 'You are a blog post generator. You will receive instructions
from a file and generate a blog post based on those instructions. '
user_message: "Generate a blog post following the guidelines in the provided\
\ file. \nThe blogpost should be about the new Quickbase capability called\
\ AI Actions that allows users to connect with a LLM via Pipelines to send\
\ instructions and the AI to generate a response"
name: Generate blogpost
note: 'generate a blog post based on instructions from a file. The response should
be a custom JSON that has the title, body, summary, number of words.
'
...