Create a project
Schema: | Connectors.Asana.functions.CreateProject |
---|---|
Service: | Asana |
Create a new project in Asana.
{ credential_source: "END_USER" }
"0fb0abc-1qwe234-asdf1234-zxcv0987"
"0fb0abc-1qwe234-asdf1234-zxcv0987"
YYYY-MM-DD
format. Note: due_on
or due_at
must be present in the request when setting or unsetting the start_on
parameter. Additionally, start_on
and due_on
cannot be the same date.
A connector's access token property specifies how the connector handles authentication.
user Workflows that include a connector function relying on end-user authentication can can only be started with a link trigger.
asana_access_token: {
credential_source: "END_USER"
}
End-user experience: User will be prompted to link their external account via OAuth when they first start the workflow that contains this connector.
Developer experience: Developer does not have to implement authentication in app.
asana_access_token: {
credential_source: "DEVELOPER"
}
End-user experience: User can start a workflow containing the connector (they are not prompted to authenticate).
Developer experience: One of the app's collaborators configures external authentication via the CLI before sharing the app with users.
First, import Connectors
from deno-slack-hub
into your project's import_map.json
file, like this:
{
"imports": {
"deno-slack-hub/": "https://deno.land/x/deno_slack_hub@2.2.0/",
"deno-slack-sdk/": "https://deno.land/x/deno_slack_sdk@2.14.2/",
"deno-slack-api/": "https://deno.land/x/deno_slack_api@2.8.0/",
}
}
Next, import Connectors
at the top of your workflow's definition file:
// my_workflow_file.ts
import { Connectors } from "deno-slack-hub/mod.ts";
Finally, add the connector as a step in your workflow just like you would a built-in Slack function.
SomeWorkflow.addStep(
Connectors.Asana.functions.CreateProject, {
// The globally unique identifier for the workspace or organization
workspace_gid: "0fb0abc-1qwe234-asdf1234-zxcv0987",
// The globally unique identifier for the team that this project should be shared with
team: "0fb0abc-1qwe234-asdf1234-zxcv0987",
// Name of the project. This is generally a short sentence fragment that fits on a line in the UI for maximum readability. However, it can be longer.
project_name: "Vintage promo event",
// (Optional) The day on which work for this project begins, or null if the project has no start date. This takes a date with <code>YYYY-MM-DD</code> format. <em>Note: <code>due_on</code> or <code>due_at</code> must be present in the request when setting or unsetting the <code>start_on</code> parameter. Additionally, <code>start_on</code> and <code>due_on</code> cannot be the same date.</em>
// start_on: "2023-12-25",
// (Optional) The day on which this project is due, in <code>YYYY-MM-DD</code> format
// due_on: "2024-07-04",
// (Optional) Free-form text associated with this project
// description: "These are critical tasks for our Vintage Promo Event",
// (Optional) An array of Slack user IDs to be added as project followers. In Asana, followers are a subset of members who have opted in to receive 'tasks added' notifications for a project.
// collaborators: ["U123456","U987653"],
asana_access_token: { credential_source: "END_USER" }
}
);
🧙🏼 Your admin may need to approve the connector first. If your workspace has been configured to only allow admin-approved apps, the CLI will prompt you to send an admin approval request the first time you try to use a connector that hasn't been approved by an admin yet. While waiting for admin approval, the CLI may report an error like this:
Workflow function... is referring to an unknown step output parameter...
You can safely ignore this error; it will go away as soon as your workspace admin approves your request to use the connector.