Webhooks
Event Payloads
Outgoing custom webhook payload shape, including fold and workflow source enrichment.
When target_kind=custom_http, FastFold sends a JSON payload like:
{
"event": {
"id": "40eac6d4-e841-4d63-a35e-1a85f5cf26d8",
"source_kind": "workflow",
"event_name": "on_complete",
"status": "COMPLETED",
"source_id": "af2473ef-820d-44df-98fe-fa15103157d5",
"occurred_at": "2026-04-23T17:50:10.240Z",
"payload": {}
},
"mapping": {},
"source": {}
}Top-level fields
event: normalized event envelopemapping: subscription input mapping (if any)source: enriched source contextsource_enrichment_error: present when enrichment fails but delivery still proceeds
Fold source enrichment (source_kind=fold_job)
For fold events, source includes:
job: fold job metadatajob_run: run metadata and selected paramsinput: run constraints + model parameters usedresults[]: per-sequence status, prediction metrics, and signed artifact URLs (cif_url,pdb_url,pae_plot_url,plddt_plot_url,metrics_json_url, etc.)
Minimal fold example:
{
"source": {
"job": { "id": "job-uuid", "name": "My Fold", "status": "COMPLETED" },
"job_run": { "id": "run-uuid", "model_name": "boltz-2", "weight_set": "Boltz-2" },
"input": {
"constraints": { "webhooks": { "evolla": { "enabled": true } } },
"parameters": { "model_name": "boltz-2", "method": "Boltz-2", "seed": "1" }
},
"results": [
{
"sequence_id": "seq-uuid",
"sequence_type": "protein",
"prediction": { "mean_plddt": 87.1, "ptm_score": 0.71 },
"artifacts": { "cif_url": "https://...", "metrics_json_url": "https://..." }
}
]
}
}Workflow source enrichment (source_kind=workflow)
For workflow events, source includes:
workflow: workflow-level status/counts/typeinput: workflow input payloadtasks[]: task status/type/result payloadsmetrics[]: extracted metrics from task outputsplots[]: extracted plot-like outputs/artifacts
Minimal workflow example:
{
"source": {
"workflow": {
"id": "workflow-uuid",
"workflow_type": "calvados_openmm_v1",
"status": "COMPLETED",
"tasks_total_count": 1,
"tasks_completed_count": 1
},
"input": {
"input_payload": {
"preset": "single_af_go",
"sim_length_ns": 10,
"webhooks": { "custom_http": { "enabled": true } }
}
},
"tasks": [
{
"task_id": "task-uuid",
"task_type": "inference_calvados_openmm",
"status": "COMPLETED",
"result_raw_json": { "metrics": { "rmsd": {} } }
}
],
"metrics": [{ "task_id": "task-uuid", "metrics": { "rmsd": {} } }],
"plots": [{ "task_id": "task-uuid", "path": "analysis/rmsd.png", "url": "https://..." }]
}
}Last updated on