Skills Development Lucidchart Diagram and Document Management

Lucidchart Diagram and Document Management

v20260423
lucidchart-core-workflow-a
This skill provides a comprehensive workflow for managing Lucidchart documents and diagrams using the REST API. Users can programmatically execute the full lifecycle: creating new documents, adding complex shapes and connectors via the Standard Import format, modifying existing content, and exporting the final diagram into high-resolution formats like PNG, PDF, or SVG. Ideal for automated diagram generation and content lifecycle management.
Get Skill
302 downloads
Overview

Lucidchart — Document & Diagram Management

Overview

Primary workflow for Lucidchart document and diagram management. Covers the complete lifecycle: creating documents, adding shapes and connectors via Standard Import, editing diagram content programmatically, and exporting to PNG, PDF, or SVG. Uses the Lucid REST API v1 with OAuth 2.0 authorization. The Standard Import format (.lucid) supports pages, shapes, lines, groups, and styling in a single declarative payload.

Instructions

Step 1: Create a Document

const doc = await client.documents.create({
  title: 'API Architecture Diagram',
  product: 'lucidchart',  // or 'lucidspark'
});
console.log(`Document: ${doc.documentId}`);
console.log(`Edit URL: ${doc.editUrl}`);

Step 2: Add Shapes and Connectors via Standard Import

const importData = {
  pages: [{
    id: 'page1',
    title: 'Main',
    shapes: [
      { id: 's1', type: 'rectangle', boundingBox: { x: 100, y: 100, w: 200, h: 80 },
        text: 'API Gateway', style: { fill: '#4A90D9' } },
      { id: 's2', type: 'rectangle', boundingBox: { x: 100, y: 300, w: 200, h: 80 },
        text: 'Database', style: { fill: '#7B68EE' } },
      { id: 's3', type: 'rectangle', boundingBox: { x: 400, y: 200, w: 200, h: 80 },
        text: 'Auth Service', style: { fill: '#50C878' } },
    ],
    lines: [
      { id: 'l1', endpoint1: { shapeId: 's1' }, endpoint2: { shapeId: 's2' },
        stroke: { color: '#333', width: 2 } },
      { id: 'l2', endpoint1: { shapeId: 's1' }, endpoint2: { shapeId: 's3' },
        stroke: { color: '#333', width: 2, pattern: 'dashed' } },
    ],
  }],
};
await client.documents.import(doc.documentId, importData);

Step 3: Edit Existing Content

const pages = await client.documents.getPages(doc.documentId);
const pageId = pages[0].id;
// Update a shape's text and style
await client.pages.updateShape(doc.documentId, pageId, 's1', {
  text: 'API Gateway v2',
  style: { fill: '#2E86C1', fontSize: 14 },
});

Step 4: Export Document

const png = await client.documents.export(doc.documentId, {
  format: 'png',   // also: 'pdf', 'svg', 'csv' (for data shapes)
  pageIndex: 0,
  scale: 2,        // retina-quality
  crop: true,       // trim whitespace
});
fs.writeFileSync('diagram.png', png);
console.log('Exported diagram.png');

Error Handling

Issue Cause Fix
401 Unauthorized Expired OAuth token Refresh token or re-authorize
403 Forbidden No edit access to document Check sharing permissions
404 Not Found Invalid documentId or pageId Verify ID from create response
413 Payload Too Large Import data exceeds 10 MB Split into multiple pages
429 Rate Limited Exceeds 100 req/min Implement exponential backoff

Output

A successful run produces a Lucidchart document with shapes, connectors, and styling, then exports a high-resolution PNG. Console output shows the document ID and edit URL.

Resources

Next Steps

Continue with lucidchart-core-workflow-b for template management and collaboration.

Info
Category Development
Name lucidchart-core-workflow-a
Version v20260423
Size 3.68KB
Updated At 2026-04-28
Language