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.
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,
snaplogicorSLDemo) - 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.
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:
SnapCode edits theFix the Mapper expression — subtotal should be qty × unit_price.pyfile, retranslates, redeploys, and revalidates automatically. - By editing the file directly: Open the generated
.pyfile in any text editor, make your changes, save, then tell SnapCode:
SnapCode picks up your edited file and redeploys from it.Deploy 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
claudefrom 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. |