Skip to main content

What is the Convert to JSON Block?

The Convert to JSON block creates structured JSON objects by defining key-value pairs. Use it to format workflow data into a specific JSON structure for APIs, databases, or downstream processing. Common use cases:
  • Create API request payloads
  • Structure data for external services
  • Format data for Google Sheets or databases
  • Build JSON objects from multiple step outputs
  • Create standardized data formats
  • Prepare data for webhooks
  • Transform unstructured data into structured JSON

How Does the Convert to JSON Block Work?

  1. Add key-value pairs - Define the structure you want
  2. Reference workflow data - Use {{step_X.output}} in keys or values
  3. Block processes - Replaces placeholders with actual data
  4. Returns JSON object - Structured output ready to use

Configuration

Key-Value Pairs

Add pairs of keys and values to build your JSON structure. Key: The property name in the JSON object Value: The data to assign (can be static text or references to previous steps) Click Add pair to add more key-value pairs.

Using Variables

Both keys and values support Liquid templating syntax to reference previous steps. Basic reference:
Results in:

Error Handling

Define what happens if the block fails to create JSON. Options:
  1. Terminate Workflow: Stop execution immediately
  2. Continue Execution: Proceed to next step with empty output
Select based on whether subsequent steps require the JSON data.

Use Cases and Examples

Use Case 1: Create API Payload

Scenario: Format keyword data for an API request Configuration:
  • Key: keyword | Value: {{step_1.output.Keyword}}
  • Key: search_volume | Value: {{step_1.output.Search_Volume}}
  • Key: difficulty | Value: {{step_1.output.Keyword_Difficulty_Index}}
  • Key: timestamp | Value: 2024-01-15
Input from step 1:
Output:

Use Case 2: Combine Multiple Step Outputs

Scenario: Merge data from keyword research and competitor analysis Configuration:
  • Key: target_keyword | Value: {{step_1.output.Keyword}}
  • Key: keyword_volume | Value: {{step_1.output.Search_Volume}}
  • Key: competitor_domain | Value: {{step_2.output.Domain}}
  • Key: competitor_traffic | Value: {{step_2.output.Organic_Traffic}}
  • Key: competitor_keywords | Value: {{step_2.output.Organic_Keywords}}
Input from step 1:
Input from step 2:
Output:

Use Case 3: Build Webhook Payload

Scenario: Send structured data to external webhook Configuration:
  • Key: event | Value: keyword_analyzed
  • Key: keyword | Value: {{step_1.output.Keyword}}
  • Key: metrics | Value: {{step_1.output}}
  • Key: source | Value: slate_workflow
Output:

Best Practices

Naming Keys

  • Use consistent naming: snake_case or camelCase
  • Be descriptive: target_keyword not just keyword
  • Follow conventions: Match API or database requirements
  • Avoid special characters: Stick to alphanumeric and underscores

Structuring Data

  • Group related data: Use clear, logical organization
  • Keep it flat when possible: Avoid unnecessary nesting
  • Include metadata: Add timestamps, sources, IDs
  • Validate required fields: Ensure all necessary data is included

Using References

  • Verify step numbers: Double-check step_X references
  • Test with sample data: Run workflow to verify output
  • Handle missing data: Use filters with defaults
  • Document structure: Comment what each field represents

Common Patterns

Add static metadata:
Combine multiple fields:
Apply transformations:

Troubleshooting

Output Not Showing Expected Data

Problem: JSON contains {{step_1.output}} instead of actual values. Solution:
  • Verify step number is correct
  • Ensure previous step completed successfully
  • Check step actually has output data
  • Test reference in Text block first

Keys Are Empty or Incorrect

Problem: JSON keys are blank or not as expected. Solution:
  • Keys should be static text (use plain text for keys)
  • If using dynamic keys, ensure Liquid syntax is correct
  • Avoid using complex Liquid in keys

Values Not Transforming

Problem: Filters not applying to values. Solution:
  • Check Liquid filter syntax
  • Ensure data type matches filter (string/number/array)
  • Test filter in Text block first
  • See Liquid Templating for correct syntax

Invalid JSON Structure

Problem: Output is not valid JSON. Solution:
  • Ensure all keys are unique
  • Check for special characters in keys
  • Verify all values are properly formatted
  • Test with simple static values first

Comparing with Code Block

Use Convert to JSON when:
  • You need simple key-value mapping
  • Structure is straightforward
  • No complex logic required
  • Quick JSON creation from existing data
Use Code Block when:
  • Need complex transformations
  • Conditional structure building
  • Dynamic key generation
  • Nested object creation
  • Array processing

What’s Next

Now that you understand the Convert to JSON block: