AI Actions

Prev Next

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:

  1. Look up a record step from the Quickbase channel to fetch the file

  2. Custom Action step from the AI Actions channel to provide the AI instructions and the file

Pipeline showing steps to find a file and generate a blog post.

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.

Interface preview showing structured AI output for generating blog posts and responses.

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. 

      ' 
...