diff --git a/apps/canvas/front/src/lib/config.ts b/apps/canvas/front/src/lib/config.ts
index 187f51c..a3784c1 100644
--- a/apps/canvas/front/src/lib/config.ts
+++ b/apps/canvas/front/src/lib/config.ts
@@ -78,14 +78,21 @@
 };
 
 export type Config = {
+	input: {
+		appId: string;
+		managerAddr: string;
+	};
 	service?: Service[];
 	volume?: Volume[];
 	postgresql?: PostgreSQL[];
 	mongodb?: MongoDB[];
 };
 
-export function generateDodoConfig(nodes: AppNode[], env: Env): Config | null {
+export function generateDodoConfig(appId: string | undefined, nodes: AppNode[], env: Env): Config | null {
 	try {
+		if (appId == null || env.managerAddr == null) {
+			return null;
+		}
 		const networkMap = new Map(env.networks.map((n) => [n.domain, n.name]));
 		const ingressNodes = nodes.filter((n) => n.type === "gateway-https").filter((n) => n.data.https !== undefined);
 		const tcpNodes = nodes.filter((n) => n.type === "gateway-tcp").filter((n) => n.data.exposed !== undefined);
@@ -105,6 +112,10 @@
 				});
 		};
 		return {
+			input: {
+				appId: appId,
+				managerAddr: env.managerAddr,
+			},
 			service: nodes
 				.filter((n) => n.type === "app")
 				.map((n): Service => {
diff --git a/apps/canvas/front/src/lib/state.ts b/apps/canvas/front/src/lib/state.ts
index f9c1f56..0b3507d 100644
--- a/apps/canvas/front/src/lib/state.ts
+++ b/apps/canvas/front/src/lib/state.ts
@@ -314,6 +314,7 @@
 };
 
 export const envSchema = z.object({
+	managerAddr: z.optional(z.string().min(1)),
 	deployKey: z.optional(z.string().min(1)),
 	networks: z
 		.array(
@@ -331,6 +332,7 @@
 export type Env = z.infer<typeof envSchema>;
 
 const defaultEnv: Env = {
+	managerAddr: undefined,
 	deployKey: undefined,
 	networks: [],
 	integrations: {
