Use SnapCode

Build, deploy, and run SnapLogic pipelines by describing what you want in plain English.

Start a SnapCode session

Open a terminal, navigate to the SnapCode directory (or any directory if you installed SnapCode globally), and run:

claude

Claude Code opens and SnapCode is ready. You interact entirely through the chat, no commands or syntax to memorize.

Build a pipeline

Enter a plain English description of your pipeline. Be specific about the data source, the transformation, and the destination to get the best results without follow-up questions.

Example:

Build a pipeline that reads customer orders from Salesforce,
filters cancelled ones, and writes the results to Snowflake

SnapCode generates the pipeline source file (.py) and translates it to the Platform format (.slp). For transformations that can run locally, it also executes the pipeline against local test data before deployment.

If SnapCode needs clarification, such as the Salesforce object to read, it asks a question. Answer it and SnapCode continues automatically.

Tip: The more specific your description, the fewer follow-up questions. Include field names, filter conditions, and object names upfront when you know them.

Deploy a pipeline

Tell SnapCode where to deploy:

Deploy it to the SLDemo org, projects/your-name/your-project path

The first time you deploy in a session, SnapCode asks for:

  • Org — your SnapLogic organization name (for example, snaplogic or SLDemo)
  • Project path — where to store the pipeline (for example, projects/your-name/your-project)
  • Snaplex — which runtime to use for validation

SnapCode saves these for the rest of the session. You can also include all three upfront in your deploy message to skip the prompts.

SnapCode uploads the pipeline and validates it on the Platform. If validation fails, it shows the error and fixes it automatically before redeploying.

Note: If your pipeline depends on child pipelines, deploy the child pipelines first so they are available when the parent is validated. List them as per the following example:
Deploy child_pipeline.slp, then parent_pipeline.slp to...

Run a pipeline

Run it

SnapCode triggers the pipeline on the Platform and returns the execution status, including per-Snap error details if it fails.

Edit a pipeline

You can change a deployed pipeline in two ways:

  • Conversationally: Ask SnapCode to make the change, for example:
    Fix the Mapper expression — subtotal should be qty × unit_price
    SnapCode edits the .py file, retranslates, redeploys, and revalidates automatically.
  • By editing the file directly: Open the generated .py file in any text editor, make your changes, save, then tell SnapCode:
    Deploy it
    SnapCode picks up your edited file and redeploys from it.

Validate an existing pipeline

To validate a pipeline on the Platform without running it:

Validate pipeline.slp

SnapCode validates the file on the Platform and reports any errors with the Snap name and field that caused the issue.

Use a local file as pipeline input

To upload a local file to SLDB so a pipeline can read it:

Upload sales_data.csv to SLDB at /snaplogic/my-project/

Then reference that path in your pipeline description when building.

Build a reusable expression library

Expression libraries let you define helper functions once and reuse them across pipelines.

Create a date helpers expression library —
today's date, previous month start/end, ISO formatting

SnapCode generates a .expr file. You can upload it to SLDB and reference it in any pipeline you build in the same session.

Where your files are stored

All generated files (.py, .slp, .expr) are created in your current working directory on your local machine. They persist across sessions. They are regular files on disk.

To keep generated files organized, you can:

  • Tell SnapCode at the start of a session to put files in a subfolder:
    Put all generated files in my-pipelines/salesforce-project/
  • Install SnapCode globally and run claude from any project directory of your choice. Refer to Use SnapCode from any directory.

Known issues

Limitation Details
Connection accounts SnapCode cannot create or configure connection accounts (Salesforce, Snowflake, SMTP, database accounts, and similar). These must be set up manually in SnapLogic Designer. SnapCode can reference an existing account name inside a pipeline, but it cannot configure the credentials.
Authentication using SSO or MFA SnapCode authenticates using your SnapLogic username and password. Authentication using SSO or MFA is not currently supported.
Downloading existing pipelines SnapCode cannot download a pipeline that already exists on the Platform. To work with an existing pipeline, export the .slp file manually from SnapLogic Designer, then ask SnapCode to translate it to .py and refine it from there. A built-in export capability is planned for a future release.
Pipeline promotion across environments There is no built-in support for promoting pipelines between environments (for example, from development to staging to production). Each deploy targets one Environment and project path. To promote a pipeline, deploy it again to each target Environment separately.
Execution history SnapCode can only show the status of the run it just triggered. It cannot retrieve logs or history from past executions.
Session state Environment, project path, and Snaplex preferences are remembered within a single session only. Each new claude session starts fresh and prompts for these settings on the first deploy.
Local files only SnapCode works with files in your current working directory. Keep your pipeline files in the folder where you run claude.
Snaps that cannot run locally Enterprise connector Snaps: Salesforce, Snowflake, NetSuite, SAP, database connectors, and similar that require Platform connectivity and cannot execute locally. For these pipelines, SnapCode generates a local test segment that replaces the non-local Snaps with file readers and writers so that transformation logic can still be validated before deployment.