Skip to main content
Inserts are a value-added service where Intelliprint stocks your pre-printed materials (business cards, vouchers, promotional items, samples) and automatically includes them in your mailings.
Contact Required: Inserts is a premium service. Contact [email protected] to enable this service for your account and arrange for your materials to be stored.

What are Inserts?

Unlike extra documents (which Intelliprint prints for you), inserts are pre-printed materials that you provide ahead of time:
FeatureExtra DocumentsInserts
Who printsIntelliprint prints themYou provide pre-printed materials
StorageNo storage neededIntelliprint stores them for you
ExamplesT&Cs, brochures (PDFs)Business cards, vouchers, samples
SetupInstant (API call)Requires setup with Intelliprint
Per-mailingCan vary per jobSame insert for all jobs

Common Use Cases

Business Cards

Include your business card with invoices or welcome letters

Discount Vouchers

Add promotional vouchers or coupons to marketing campaigns

Product Samples

Include small product samples or swatches with direct mail

Return Envelopes

Add pre-addressed return envelopes for payments or forms

How It Works

1. Setup (One-time)

Contact Intelliprint to:
  1. Arrange for insert storage
  2. Ship your pre-printed materials to Intelliprint
  3. Receive your insert ID(s) (e.g., ins_abc123)

2. Use in API Calls

Once set up, reference your insert ID in print jobs:
const printJob = await ip.prints.create({
  content: '<h1>Invoice</h1><p>Payment due...</p>',
  recipients: [{ address: {/* ... */} }],
  
  // Add your pre-stocked insert
  insert: 'ins_abc123',  // Your insert ID from Intelliprint
  
  confirmed: true
});

console.log('✓ Letter will include your insert');

Multiple Inserts

If you need different inserts for different campaigns, set up multiple insert IDs:
// Welcome pack with business card
await ip.prints.create({
  content: welcomeLetterHTML,
  recipients: newCustomers,
  insert: 'ins_business_card',  // Business card insert
  confirmed: true
});

// Promotional mailing with voucher
await ip.prints.create({
  content: promotionalHTML,
  recipients: existingCustomers,
  insert: 'ins_discount_voucher',  // Voucher insert
  confirmed: true
});

Combining with Extra Documents

You can use both inserts (pre-printed) AND extra documents (printed) together:
const printJob = await ip.prints.create({
  content: '<h1>Account Statement</h1>',
  recipients: [{ address: {/* ... */} }],
  
  // Pre-printed insert (your business card)
  insert: 'ins_business_card',
  
  // Printed extra document (T&Cs)
  extra_documents: [{
    document: fs.createReadStream('./terms.pdf')
  }],
  
  confirmed: true
});

// Customer receives:
// 1. Account statement (printed)
// 2. Terms & conditions (printed)
// 3. Business card (pre-printed insert)

Important Considerations

Inserts are only available for letters, not postcards. Postcards have a fixed size and cannot include additional materials.
Inserts affect envelope requirements. Intelliprint will ensure the envelope is large enough for your letter + insert. Discuss size requirements during setup.
Intelliprint monitors insert stock levels. You’ll be notified when stock is running low and need to replenish materials.
Each print job uses the same insert for all letters. For different inserts, create separate print jobs.
Insert service includes storage and handling fees. Contact Intelliprint for pricing details based on your materials and volume.

Checking Insert Usage

The insert ID appears in the print job response:
const printJob = await ip.prints.retrieve('print_abc123');

console.log(printJob.insert);  // 'ins_abc123'

// Check which jobs used a specific insert
const jobs = await ip.prints.list({
  // Note: filtering by insert may require manual filtering
  limit: 100
});

const jobsWithInsert = jobs.data.filter(job => 
  job.insert === 'ins_abc123'
);

Real-World Example: Invoice with Business Card

// Monthly invoice run with business card insert
const invoices = await getMonthlyInvoices(); // Your data

for (const invoice of invoices) {
  const invoiceHTML = generateInvoiceHTML(invoice);
  
  await ip.prints.create({
    testmode: false,
    content: invoiceHTML,
    
    recipients: [{
      address: {
        name: invoice.customerName,
        line: invoice.address,
        postcode: invoice.postcode,
        country: invoice.country || 'GB'
      }
    }],
    
    // Add business card to every invoice
    insert: 'ins_company_business_card',
    
    reference: `Invoice ${invoice.number} - ${invoice.customerName}`,
    
    postage: {
      service: 'uk_first_class'
    },
    
    confirmed: true
  });
}

console.log(`✓ Sent ${invoices.length} invoices with business cards`);

Getting Started

1

Contact Intelliprint

Email [email protected] to discuss:
  • What materials you want to include
  • Expected volumes
  • Storage and handling requirements
2

Ship Your Materials

Send your pre-printed materials to Intelliprint’s fulfilment centre (address provided during setup).
3

Receive Insert IDs

Intelliprint will provide insert ID(s) for your stored materials.
4

Start Using in API

Reference insert IDs in your print job API calls.

Next Steps