Workflows in SharePoint can be built using Visual Studio or SharePoint Designer. There are some advantages with doing it in Visual Studio and there are others with building it in SharePoint Designer. One of the biggest benefits in building a workflow in SharePoint Designer is that you do not need any coding skills to do it. You can let your information worker build the workflow that suits their business needs. There are of course also drawbacks with both methods. One of the drawbacks of building it in SharePoint Designer is that you are limited to use the actions that are available within the designer.
If you want to use SharePoint Designer to build your workflow (and thereby letting your information workers create their own workflows without bothering you) but can't find an action that fills your needs, you can extend the functionality in SharePoint Designer by creating your own actions!
This process is not very complicated and there is a lot of information out there, but when I tried this myself I had to compile the information from several different resources to get this to work.Those were:
This is really good, even a movie explaining how to do most things:http://msdn.microsoft.com/en-us/library/bb629922.aspx
SharePoint Designer team has a good post on getting hold of the information about the list item once you're in the workflowhttp://blogs.msdn.com/sharepointdesigner/archive/2007/09/30/getting-to-workflow-information.aspx
This one explains how to get data from the list item that is associated with the workflow:http://blogs.microsoft.co.il/blogs/davidbi/archive/2008/07/21/How-to-get-the-context-item-in-workflow-activity-sharepoint.aspx
And last but not least:http://blogs.msdn.com/sharepointdesigner/archive/2007/03/27/tip-clearing-the-spd-workflow-assembly-cache.aspx this one is about how to make SharePoint Designer refresh its assembly cache. Very important if you for instance fixed a bug in your code, this will make sure that your new and improved assembly is deployed.
I also made a screen cast to show how it is done, you can find it here on Channel9: http://channel9.msdn.com/posts/BomBom/How-to-build-your-own-custom-action-for-SharePoint-Designer-2007/